src/javascript/core/utils/Extra.js
function(obj, prop, desc)
	{
		if (o.typeOf(desc) === 'object') {
			defineGSetter.call(obj, prop, desc, 'get');

			if (!Object.defineProperty) {
				// additionally call it for setter
				defineGSetter.call(obj, prop, desc, 'set');
			}
		}
	}
function(obj, prop, desc)
	{
		if (o.typeOf(desc) === 'object') {
			defineGSetter.call(obj, prop, desc, 'get');

			if (!Object.defineProperty) {
				// additionally call it for setter
				defineGSetter.call(obj, prop, desc, 'set');
			}
		}
	}
Defines property with specified descriptor on an object

@method defineProperty
@static
@param {Object} obj Object to add property to
@param {String} prop Property name
@param {Object} desc Set of key-value pairs defining descriptor for the property