beggining of the PluginInterface class (+tests)