I don't like adding these methods to the EventLoop.  It conflates 2 separate responsibilities  1)  executing events  2)  firing events on a pipeline.  It seems like we should have a clean separation of these:  the eventloop is only interested with how to invoke generic events and knows nothing about pipelines.