Added controller classes to make input handling etc modular.
Merge branch 'controllers' into develop

Merge controllers into develop