restructure so that we have a definitive list of methods a view should have and create a ViewManager class which will eventually manage our different views