needy.js
function portable(obj, fn)
	{
		if (typeof fn === 'string')
			fn = obj[fn];

		return function()
		{
			return fn.apply(obj, arguments);
		};
	}
function portable(obj, fn)
	{
		if (typeof fn === 'string')
			fn = obj[fn];

		return function()
		{
			return fn.apply(obj, arguments);
		};
	}
function portable ( obj , fn ) { if ( typeof fn === 'string' ) fn = obj [ fn ] ; return function ( ) { return fn . apply ( obj , arguments ) ; } ; }
Permantently override the "this" value of a function.
Permantently override the this value of a function .