Service
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.
Improves grouping of some files in project's directories.