I don't like how rigid the setup process is and the requirements for changing view. Try see if we can adapt this to make it more flexible. Maybe have mainwindow contain the view classes?