Add the event trigger methods to EventLoop and use it throughout the pipeline
Add back removed abstract methods
Better docs
Revert unrelated change
Fix potential leak when executing a WriteTask fails.