 			{
 				_executed = true;
 				for (var i : uint = 0; i < _numCallbacks; ++i)
-					(_callbacks[i] as Function).apply(null, params);
+					_callbacks[i].apply(null, params);
 				_executed = false;
 				
 				for (i = 0; i < _numAdded; ++i)

{
	public final class Signal
	{
		private var _name			: String	= null;
		
		private var _callbacks		: Array		= [];
		private var _numCallbacks	: uint		= 0;
		
		private var _executed		: Boolean	= false;
		private var _numAdded		: uint		= 0;
		private var _toAdd			: Array		= null;
		private var _numRemoved		: uint		= 0;
		private var _toRemove		: Array		= null;
		
		public function get numCallbacks() : uint
		{

				if (_toRemove)
					_toRemove.push(callback);
				else
					_toRemove = new <Function>[callback];
				++_numRemoved;
				
				return ;
