refactored plugin system to rely completely on spring