Introduce an event listener support

Introduce an event listener concept

* Move messaging-based IEventService implementation from messaging package to this one
* Add IEventListener interface and it's messaging-based implementation
* Add a Task entity along with IEventService::enqueue() method for delivering tasks to workers