Cleanroom

This is not the nicest way to do clean up. It's not very DRY in some places and could really do with a refactor if we move to the Service/Provider as classes model. For now, with how the Service class (etc) is structured, this is about as good as I can do, I think
maybe... but at the moment, they are just strings right? i agree, if we move to the `Provider` class, but for now they are really pretty dumb and don't lend themselves to annotation