[WIP] adding worker aggregate listeners (2)

retake on https://github.com/juriansluiman/SlmQueue/pull/76
I expect the there to be only one listener attached; our 'internal' initializer listener. It collects states from the attached listeners. Not sure this is the best architecture, since that is not an 'initializing' thing. I mainly use that listener as a setup/teardown of the strategies AND collect exit states. We could move the exit states to be returned by the listeners themselves when applicable.