Added some UI changes, reorganized architecture so that the root view controller controls everything and other controllers delegate to it