Try to conform a bit more to "The event loop processing model" …
This removes a set of hacks that we'd been piling up.