function methodize(fn) {
    return function() {
      var args = [this];
      args.push.apply(args, arguments);
      return fn.apply(null, args);
    };
  }
Wraps a function and passes `this` to the original function as the
first argument.

@private
@param {Function} fn The function to be wrapped.
@returns {Function} The new function.