core pluginrunner refactoring