code: function getScope(self, hookName, args, hookMethod, hookType) {
      return self.__scopeHook &&
          typeof self.__scopeHook === 'function' ?
          self.__scopeHook(hookName, args, hookMethod, hookType) : self;
  }
docs: Helpers 
  Set the scope (this) for the hook callback at runtime.
  The wrapped object/Class need to have a __scopeHook method declared that will return the scope
  wanted for each hook.
  
  @param {*} self Scope of the wrapped object
  @param {*} hookName Name of the hook (the target method on the object/class)
  @param {*} args The arguments passed to the target method
  @param {*} hookMethod The name of the callback function (if not an anonymous function of course)
  @param {*} hookType The hook type: "pre" or "post"