index.js
function (tracker, methodList) {
  var trackingData = tracker[trackingKeyName];
  methodList.forEach(function (name) {
    tracker[name] = function () {
      var context = this;
      var argsArray = Array.prototype.slice.call(arguments);
      // Only record actions called directly on the tracker.
      if (this === tracker) {
        // Forwarded call should operate on original object.
        context = trackingData.object;
        trackingData.actions.push({
          key: name,
          arguments: argsArray,
        });
      }
      return trackingData.object[name].apply(context, argsArray);
    };
  });
}
function (tracker, methodList) {
  var trackingData = tracker[trackingKeyName];
  methodList.forEach(function (name) {
    tracker[name] = function () {
      var context = this;
      var argsArray = Array.prototype.slice.call(arguments);
      // Only record actions called directly on the tracker.
      if (this === tracker) {
        // Forwarded call should operate on original object.
        context = trackingData.object;
        trackingData.actions.push({
          key: name,
          arguments: argsArray,
        });
      }
      return trackingData.object[name].apply(context, argsArray);
    };
  });
}
Add callable methods for tracking.