Application restructuring

This is a massive commit comprised of a massive refactoring that removes
a couple of monolithic services.

I have removed the MacroService and the HookService. In light of the
recent UI refactoring a couple of more natural logical entities became
obvious so I implemented them!