docs: function wrap(func) {
    if (!util.is('Function', func)) { func = function noop(){}; }
  
    return function wrapper() {
      try {
        return func.apply(this, arguments);
      } catch(err) {
        this.notify(err, {stackShift: 3});
        throw(err);
      }
    }.bind(this);
  }