 				
 				//TODO: investigate performance of various approaches
 				// Clone listeners array because add/remove may occur during the dispatch.
-				for each (var listenerBox:Object in listeners.concat())
+				for each (var listenerBox:ListenerBox in listeners.concat())
 				{
 					var listener:Function = listenerBox.listener;
 					//TODO: Maybe put this conditional outside the loop.

			if (eventClass && !listener.length)
				throw new ArgumentError('Listener must declare at least 1 argument when eventClass is specified.');
			
			var listenerBox:Object = { listener:listener, priority:priority };
			// Process the first listener as quickly as possible.
			if (!listeners.length)
			{

				if (currentTarget is IBubbleEventHandler)
				{
					IBubbleEventHandler(event.currentTarget = currentTarget).onEventBubbled(event);
					break;
				}
			}
		}
