code: function wrapMutatingArrayMethod(method, func) {
        return function() {
          var result = [][method].apply(obj, arguments);
          this.len = this.values.length;
          cache = {};
          children = {};
          func.apply(this, arguments);
          target.parent.trigger('update', target.prop);
          return result;
        };
      }
docs: Wrap mutating array method to update state and notify listeners