Main view has one active state which is an object subclassed from the ViewState. Each of the states will be a singleton as they will relay on the data stored in the MainView class instance.