Restructured plugin system
Merge branch 'plugin-system-restructure'