state-manager
versatile state managing abstraction
usage
/* ============ example #1 ============ basic usage =====================================*/ var StateManager = var myStates = StateManager // to activate a state myStates // some time later perhaps from within state1 itself myState /* ============ example #2 ============ optional state methods =====================================*/ var StateManager = var myStates = StateManager /* ============ example #3 ============ pattern #1 =====================================*/ var StateManager = var myStates = StateManager { var foo = 123 return { console } }