     //------------------------------------------------------------
     public class NotificationService {
 
+        public static var MAX_LOOP_COUNT:int = 8;
+
         private var _publishers:Dictionary = new Dictionary();
         private var _listenerCount:int = 0;
         private var _messageQueue:Vector.<Object> = new Vector.<Object>();
 
         //------------------------------------------------------------
-        public function NotificationService() {
-
-        }
+        public function NotificationService() {}
 
         public function addListener(listener:KrewGameObject,
                                     eventType:String, callback:Function):void {

                publisher.publish(eventArgs);
            }

            // ToDo: for の中で Message 投げられてたら再帰
        }
    }
}

            });
        }

        public function broadcastMessage(recallCount:int=0):void {
            if (_messageQueue.length == 0) { return; }

            var processingMsgs:Vector.<Object> = _messageQueue.slice(); // copy vector
