[WIP] adding worker aggregate listeners (2)

retake on https://github.com/juriansluiman/SlmQueue/pull/76
I see three approaches: 
1. If we guarantee the 'initialer' listener to do the 'tearDown' with the lowest priority we can have the strategy listeners use the same event to return exit state themselves.
2. We introduce an additional event the strategy listeners to specifically collect exit states.
3. Completely different; We let the strategy listeners return there own exitStates. Move the setup/teardown of the listeners from event system all together. It would probably introduce that complexity to the worker itself (where i did my best to keep it out of).

I think 2 is the best unless we come up with a good nr. 3.