Use `nextEvent` only to pass `loop` to it.
Fix TaskBuffer#flush.
Remove `many`.
Add tail-call-optimization, loop -> flush.