code: function _updateMap(arr, state) {
  		if(Array.isArray(arr)) {
  			arr.forEach(function(file) {
  				var f, toQ, toN, n;
  				switch(state) {
  					case 'onCreated': {
  						n = file.result ? file.result.Name : undefined;
  						f = file.result ? file.result.Location : undefined;
  						break;
  					}
  					case 'onDeleted': {
  						f = file.deleteLocation;
  						n = _shortName(file.deleteLocation);
  						break;
  					}
  					case 'onModified': {
  						n = _shortName(file);
  						f = file;
  						break;
  					}
  					case 'onMoved': {
  						toQ = file.result ? file.result.Location : undefined;
  						toN = file.result ? file.result.Name : undefined;
  						n = _shortName(file.source);
  						f = file.source;
  						break;
  					}
  				}
  				delete this.map[f];
  				_handle.call(this, state, this, f, n, toQ, toN);
  			}.bind(this));
  		}
  	}
docs: Update the backing map
  @param {Array.<String>} arr The array to walk
  @param {String} state The state, one of: onModified, onDeleted, onCreated