I've been trying to implement my own service router, to make dynamic configuration easier. However, I'm struggling to find a way to request services with only a label and a service name and provide them when a service is requested. I've looked at the init code, but I'm trying to allow the server to provide services to siblings, which complicates things. Could somebody please give me some pointers? I suspect that I may need to extend Genode::Root to provide different services/capabilities according the the router's policy. Am I correct? I haven't quite been able to piece together how capability/session requests are resolved.