code: function hook(p, key) {
      var h = function h(e) {
        // update only when the argument is an Event object
        if (e && e instanceof Event) {
          // suppress updating on the inherit tag
          e.preventUpdate = true;
          // call original method
          p[key](e);
          // update automatically
          p.update();
        } else {
          p[key](e);
        }
      };
      h._inherited = true;
      return h;
    }
docs: Call original method and update automatically