[task] add PluginManager component