please add a comment here.  All uses of timeouts or event-loop forwarding that's not a transparent byproduct of the use of promises should have a rationale since otherwise it can look a lot like someone added a timeout as a hack.