 	import flash.events.IEventDispatcher;
 	
 	/**
-	 * The NativeMappedSignal class is used to map/transform an event other forms of data. 
-	 * The transformed data is then sent along with the dispatched Signal.
-	 * This can be used to form a border where native flash Events do not cross. 
+	 * <p>
+	 * The NativeMappedSignal class is used to map/transform a native Event, 
+	 * relayed from an IEventDispatcher, into other forms of data, 
+	 * which are dispatched to all listeners.
+	 * </p>
+	 * <p>This can be used to form a border where native flash Events do not cross.</p>
 	 */
 	public class NativeMappedSignal extends NativeRelaySignal
 	{
 		/**
-		 * @default is initialized to flash.events.Event in constructor if omitted as parameter.
+		 * @default is initialized to flash.events.Event in constructor if omitted as parameter
 		 */
 		protected var _eventClass:Class;
 		

		}
		
		/**
		 * @param objectListOrFunction This can either be a list of object literals or a function that returns list of objects. 
		 * If the argument is a list of object literals <code>mapTo()</code>: then this list is passed along with the Signal dispatch.
		 * 
		 * Here's an example passing an object literal:
		 * 
		 * <code>
		 * 	signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String).mapTo("ping")
		 * 	signal.add(function(arg:String):void { trace(arg) }) // prints "ping"
		 * </code>
		 * 
		 * And an example passing a list of literals:
		 * 
		 * <code>
		 * 	signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String, int, Number).mapTo("ping", 3, 3.1415)
		 * 	signal.add(function(arg1:String, arg2:int, arg3:Number):void { trace(arg1, arg2, arg3) }) // prints "ping", 3, 3.1415
		 * </code>
		 * 
		 * If the argument is a function then it is called when the event this NativeMappedSignal is listeneing for is dispatched.
		 * The function should return an Array or a single object. The data returned from the function is passed along as arguemnts in the Signal dispatch.
		 * Lets look at some examples of mapping functions and the function that is called back:
		 * 
		 * <code>
		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String).mapTo(function():void { 
		 * 		return "ping"
		 * 	})
		 * 	signal.add(function(arg:String):void { trace(arg) }) // prints "ping"
		 * </code>
		 * 
		 * and here's an example using a list of arguments:
		 * 
		 * <code>
		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, String, int, Number).mapTo(function():void { 
		 * 		return ["ping", 3, 3.1415] 
		 * 	})
		 * 	signal.add(function(arg1:String, arg2:int, arg3:Number):void { trace(arg1, arg2, arg3) }) // prints "ping", 3, 3.1415
		 * </code>
		 * 
		 * You can also state your wish to receive the native Event in th mapping function by simply including an argument of type Event:
		 * 
		 * <code>
		 *  signal = new NativeMappedSignal(button, MouseEvent.CLICK, MouseEvent, Point).mapTo(function(event:MouseEvent):void { 
		 * 		return new Point(event.localX, event.localY)
		 * 	})
		 * 	signal.add(function(arg:Point):void { trace(arg) }) // prints "(x=128, y=256)"
		 * </code>
		 * 
		 * @return The NativeMappedSignal object this method was called on. This allows the Signal to be defined and mapped in one statement.
		 */		
		public function mapTo(...objectListOrFunction):NativeMappedSignal

		
		/**
		 * This is used as eventHandler for target or can be called directly with the parameters specified by valueClasses.
		 * <p>If used as eventHandler the data mapping system is used to supply the super.dispatch with alternative data to dispatch.</p>
		 *
		 * @see #mapEvent()
		 * @see #mapTo()
		 * @see org.osflash.signals.NativeRelaySignal#dispatch()
		 */
		override public function dispatch (... valueObjects):void 
		{
