 		/** @inheritDoc */
 		public function remove(listener:Function):Function
 		{
-			var index:int = listeners.indexOf(listener);
+			const index:int = listeners.indexOf(listener);
 			if (index == -1) return listener;
 			if (listenersNeedCloning)
 			{

			// Validate value objects against pre-defined value classes.
			var valueObject:Object;
			var valueClass:Class;
			var numValueClasses:int = _valueClasses.length;
			if (valueObjects.length < numValueClasses)
			{
				throw new ArgumentError('Incorrect number of arguments. Expected at least ' + numValueClasses + ' but received ' + valueObjects.length + '.');

					break;
					
				case 1:
					const singleValue:Object = valueObjects[0];
					for each (listener in listeners)
					{
						if (onceListeners[listener]) remove(listener);
						listener(singleValue);
					}
					break;
					
