Start implementation of IState and IView. Add another state (not tested yet)