You might want to have a peek at the State Machine overview presentation here: http://puremvc.tv/#P003/
This will give you an idea of how to cope with application state. View state is a different matter. Each view component may have any number of states that do not directly correspond to overall application state. And sometimes it is a one to one relationship. The overview presentation describes how Mediators can listen to the StateMachine and keep their individual view states in sync with the overall application state.