I've been thinking about how to make a Genode desktop OS, and one of the main issues is service routing. Genode currently works well for static, pre-defined scenarios, but has issues when you try to create complex, dynamic scenarios. When adding a single component, I've often had to add to the policy configurations of multiple core servers. This is far from ideal. I have two ideas to help solve this issue: 1. Add a server dedicated to routing services. This server would request services for other components using its own label, so it can use its own policy rules rather than those of the individual servers. 2. Give init the ability to provide services from its children to its parent and siblings.