Refactor: Controller

Refactor to have a controller, on which services will be registered.

The README needs a lot of love, and most of the services still need a lot of love, but hey, there's a controller now.

@jayferd this is pretty big, you don't really need to give this an in-depth review. Unless you have a strong objection, I'm merging this (just into `dev`) tomorrow.