Further abstract the control and view elements of app