coding PluginInterface & PluginHandler (+tests)