code: function (object /* args */) {
      var methods = [].slice.call(arguments, 1);
      if (arguments.length === 2 && Array.isArray(arguments[1])) {
        methods = arguments[1];
      }
  
      methods.forEach(function (method) {
        if (typeof object[method] === 'function') {
          object[method] = object[method].bind(object);
        }
      });
  
      return object;
    }
docs: Takes an object and a series of method names. Each method will be re-assigned to the object with the object bound as the methods scope. This is generally useful for defining callback methods.  An array of method names can also be passed.  Example:  object = {onData: function () {}, onEnd: function () {}); utils.bindAll(object, 'onData', 'onEnd');  // Same as doing. object.onData = object.onData.bind(object); object.onEnd  = object.onEnd.bind(object);