src/js/libs/spiritual-gui.js
function(proto, props) {
		var resolved = {};
		Object.keys(props).forEach(function(prop) {
			resolved[prop] = {
				value: props[prop],
				writable: true,
				enumerable: true,
				configurable: true
			};
		});
		return Object.create(proto, resolved);
	}
function(proto, props) {
		var resolved = {};
		Object.keys(props).forEach(function(prop) {
			resolved[prop] = {
				value: props[prop],
				writable: true,
				enumerable: true,
				configurable: true
			};
		});
		return Object.create(proto, resolved);
	}
function ( proto , props ) { var resolved = { } ; Object . keys ( props ) . forEach ( function ( prop ) { resolved [ prop ] = { value : props [ prop ] , writable : true , enumerable : true , configurable : true } ; } ) ; return Object . create ( proto , resolved ) ; }
Object.create with default property descriptors.
@see http://wiki.ecmascript.org/doku.php?id=strawman:define_properties_operator
@param {object} proto
@param {object} props
Object . create with default property descriptors .