Raw setTimeout and rAF also introduce race conditions (consider the case where a component is unmounted before the callback fires. @jordow, did you have a solution for this that scopes async callbacks to the lifetimes of their contextual components?