Refactoring Plugins hierarchy