 		{
 			_target = IEventDispatcher(target);
 			_name = name;
-			_eventClass = eventClass;
+			_eventClass = eventClass || Event;
 			listeners = [];
 			onceListeners = new Dictionary();
 		}

		public function dispatch(eventObject:Object = null):void
		{
			var event:Event = Event(eventObject);
			if (_eventClass && !(event is _eventClass))
				throw new ArgumentError('Event object '+eventObject+' is not an instance of '+_eventClass+'.');

			_target.dispatchEvent(event);

	import flash.events.Event;
	import flash.utils.Dictionary;
	import flash.events.IEventDispatcher;

	/**
	 * The NativeSignal class uses an ISignal interface as a facade for an IEventDispatcher.
