why is this registered with the services manager versus the service instance encapsulating the protocol/profile used?  You're leaking abstractions.