Продумываю API вложенных потоков (т.е. поток созданный внутри потока).
Концепт такой:
$C(...).forEach(function (el) {
// Метод wait приостановит выполнение родительского потока,
// пока не выполнится дочерний и в качестве ответа вернёт результат работы дочернего потока
this.wait($C(el).forEach(function () {
...
}, {thread: true}));
}, {thread: true});
Также решил добавить метод .sleep который имеет следующий интерфейс:
sleep(time, opt_test, opt_interval)
*) время в мс
*) функция-проверка, если вернёт true, то поток "проснётся"
*) если true и opt_test вернёт false, то проверка будет проводится каждые time пока поток не проснётся