 					snapshot[i].apply(null, args);
 				}
 			}
+			
+			callbacksInUse = false;
 		}
 
 		

		public function dispatch(... args):void
		{
			if(!callbacks) return;
			const snapshot:Vector.<Function> = callbacks.concat();
			const numCallbacks:int = snapshot.length;
			
			var i:int;

	{
		private var callbacks:Vector.<Function>;
		
		private var callbacksInUse:Boolean = false;
		
		
		
		/**
