Add dependency on EventDispatcher
Factor duplicate lines
Add JobInterface::addSubscriber and JobInterface::addListener methods