lib/abaaso.js
function ( obj, origin ) {
		var o = obj,
		    s = origin;

		utility.iterate( s, function ( v, k ) {
			var getter, setter;

			if ( !( v instanceof RegExp ) && typeof v === "function" ) {
				o[k] = v.bind( o[k] );
			}
			else if ( !(v instanceof RegExp ) && !(v instanceof Array ) && v instanceof Object ) {
				if ( o[k] === undefined ) {
					o[k] = {};
				}

				utility.alias( o[k], s[k] );
			}
			else {
				getter = function () {
					return s[k];
				};

				setter = function ( arg ) {
					s[k] = arg;
				};

				utility.property( o, k, {enumerable: true, get: getter, set: setter, value: s[k]} );
			}
		});

		return obj;
	}
function ( obj, origin ) {
		var o = obj,
		    s = origin;

		utility.iterate( s, function ( v, k ) {
			var getter, setter;

			if ( !( v instanceof RegExp ) && typeof v === "function" ) {
				o[k] = v.bind( o[k] );
			}
			else if ( !(v instanceof RegExp ) && !(v instanceof Array ) && v instanceof Object ) {
				if ( o[k] === undefined ) {
					o[k] = {};
				}

				utility.alias( o[k], s[k] );
			}
			else {
				getter = function () {
					return s[k];
				};

				setter = function ( arg ) {
					s[k] = arg;
				};

				utility.property( o, k, {enumerable: true, get: getter, set: setter, value: s[k]} );
			}
		});

		return obj;
	}
function ( obj , origin ) { var o = obj , s = origin ; utility . iterate ( s , function ( v , k ) { var getter , setter ; if ( ! ( v instanceof RegExp ) && typeof v === "function" ) { o [ k ] = v . bind ( o [ k ] ) ; } else if ( ! ( v instanceof RegExp ) && ! ( v instanceof Array ) && v instanceof Object ) { if ( o [ k ] === undefined ) { o [ k ] = { } ; } utility . alias ( o [ k ] , s [ k ] ) ; } else { getter = function ( ) { return s [ k ] ; } ; setter = function ( arg ) { s [ k ] = arg ; } ; utility . property ( o , k , { enumerable : true , get : getter , set : setter , value : s [ k ] } ) ; } } ) ; return obj ; }
Aliases origin onto obj

@method alias
@param  {Object} obj    Object receiving aliasing
@param  {Object} origin Object providing structure to obj
@return {Object}        Object receiving aliasing
Aliases origin onto obj