Remove setTimeout in favor of process.nextTick()

According to [process.nextTick() documentation](http://nodejs.org/api/process.html#process_process_nexttick_callback), using setTimeout is not recommended:

    On the next loop around the event loop call this callback. This is not a simple alias to setTimeout(fn, 0), it's much more efficient.

I'm not sure why you didn't use `nextTick()` yet, so if it was intended, please close :)
I'm currently testing this change and it seems to work better than with setTimeout.

What I'm unsure is the run function - it's not needed anymore imho.