Initial draft on the plugin system