ServiceConfig subclasses dynamically register themselves when loaded into memory
rewrite of 'add a service' docs for the reimplementation of services