A coroutine-based event emitter.