@Aljoscha with regards to plugins, what do you think about doing a depject-y approach where each plugin has a "manifest" that says what services they give and what services they need, then the server connects everyone up. i think this would work best if we assume plugins are specified upfront, including how to start the process, so the server starts each plugin process and then connects each plugin to another as desired.