Add makePluginFromFunc and registerPlugin
Add shared.terminal to requires
Vastly simplified startup