 			for (var i:int = 0; i < len; i++)
 			{
 				// null is allowed to pass through.
-				if ( (valueObject = valueObjects[i]) === null
+				if ( (valueObject = valueObjects[i]) === null//todo why strict equality?
 					|| valueObject is (valueClass = _valueClasses[i]) )
 					continue;
 					

	 */
	public class DeluxeSignal implements ISignalOwner, IPrioritySignal
	{
		protected var _target:Object;
		protected var _valueClasses:Array;
		protected var listenerBoxes:Array;

				var argumentString:String = (listener.length == 1) ? 'argument' : 'arguments';
				throw new ArgumentError('Listener has '+listener.length+' '+argumentString+' but it needs at least '+_valueClasses.length+' to match the given value classes.');
			}

			//todo absolutely need to get rid of this
			//todo replace with flyweight
			var listenerBox:Object = { listener:listener, once:once, priority:priority };
			// Process the first listener as quickly as possible.
			if (!listenerBoxes.length)
