Add ability to auto-launch and obtain instance of
a `Service` with a single command.
Add `Service`-specific events `Launch()` / `ShutDown()`
Add ability to auto-register required listeners on launch.
Events might rely on a particular `Service` to generate them,
this patch allows them to auto-launch/shutdown a service, depending on
whether anybody is listening to it's events.