 				return false;
 			
 			// keep track of unique strings
-			if (_uniqueStringLookup[value] === undefined)
+			if (!_uniqueStringLookup.has(value))
 			{
 				_uniqueStrings.push(value);
 				// initialize mapping
-				_uniqueStringLookup[value] = -1;
+				_uniqueStringLookup.set(value, -1);
 			}
 			
 			return true;

					return _i / _uniqueStrings.length;
				
				var string:String = _uniqueStrings[_i];
				_uniqueStringLookup[string] = _i;
				
				if (_stringToNumberFunction != null)
				{

			_asyncSort.abort();
			
			_uniqueStrings.length = 0;
			_uniqueStringLookup.clear();
			_stringToNumberFunction = null;
			_numberToStringFunction = null;
			
