$.bindContext = function() {
    var args = $.makeArray(arguments),
        fn = args.shift(),
        context = args.shift();
    return function() { fn.apply(context, $.makeArray(arguments).concat([this].concat(args))); };
};