I'm in the process of creating a plugin that will add a new UPNP device and device services to the MP2 server. But currently, access to the UPnPServer object in the MP2 server isn't exposed. UPnpBackendServer inherits from UPnpServer, and it's instance is held in BackendServer. My current workaround for this is to expose a getter property called UPnpServer in BackendServer and in IBackendServer to allow access whilst I develop the plugin. A simple call to ServiceRegistration.Get<IBackendServer>().UPnpServer solves my problem, but is there another, more elegant way?