Improved view

Created a new class for view that might be useful. It combines the functionality of six of the other classes and contains new functionalities. 

Also sorry that this pull also contains my other pull request. I'm new to Github and so I didn't realize how branching worked until after I committed that one to my master.