very naive prototype of a ServiceManager interface for services to register with so that it can be swapped out for other implementations.