Huge re-work to group everything into plugins.