             {
                 for each (var fsm:IFsm in state.subMachines)
                 {
-                    if (fsm is Fsm)
-                    {
-                        Fsm(fsm).that = this._that;
-                    }
-                    
                     fsm.pushEvent(event);
                 }
             }

        public var unmappedEventException:Boolean;
        public var noTransitionException:Boolean;

        /*
          key: IEvent.name
        value: [ITransition]
        */
        protected var _eventMap:Object = {};
        protected var _events:Vector.<IEvent> = new Vector.<IEvent>;
        protected var _states:Vector.<IState> = new Vector.<IState>;

        {
            if (action)
            {
                action.execute(_actionFsm || this, event);
            }
        }

