Introduce Controller to represent the old 'view' approach