code: function (where, name) {
          var orig = [][name]
          list.prototype[name] = function () {
              // Get the items being added.
              var args = [],
                  // Where we are going to add items.
                  len = where ? this.length : 0,
                  i = arguments.length,
                  res, val, constructor = this.constructor;
  
              // Go through and convert anything to an `observe` that needs to be converted.
              while (i--) {
                  val = arguments[i];
                  args[i] = canMakeObserve(val) ? hookupBubble(val, "*", this, this.constructor.Observe, this.constructor) : val;
              }
  
              // Call the original method.
              res = orig.apply(this, args);
  
              if (!this.comparator || args.length) {
  
                  this._triggerChange("" + len, "add", args, undefined);
              }
  
              return res;
          }
      }
docs: Adds a method `name` - The method name. `where` - Where items in the `array` should be added.