ActionScript State Machine is a state machine that optionally supports (using the decorator design pattern) history and event dispatching.

Sample

public function actionExists(checkAction:String):Boolean
public function addAction(fromState:String, toState:String, action:String, handler:Function = null):Boolean
public function addState(newState:String):Boolean
public function changeState(toState:String):Boolean
public function currentState():String
public function performAction(actionName:String):Boolean
public function reset():void 
public function stateExists(checkState:String):Boolean
public function validActions():Array 
public function validStates():Array
State machine . URL.