code: function isES5DataProperty(object, key) {
  
  	var result = false;
  
  	// make sure this works in older browsers without error
  	if (Object.getOwnPropertyDescriptor && object.hasOwnProperty(key)) {
  
  		var descriptor = Object.getOwnPropertyDescriptor(object, key);
  		result = ('value' in descriptor) && (typeof descriptor.value !== 'function');
  	}
  
  	return result;
  }
docs: Determines if a given property is a data property in ES5. This is
  important because we can overwrite data properties with getters in ES5,
  but not in ES3.
  @param {Object} object The object to check.
  @param {string} key The property name to check.
  @returns {boolean} True if it's an ES5 data property, false if not.
  @private