function createHook(hook) {

  /**
   * @this {CommandInterceptor}
   *
   * @param {Events} [events]
   * @param {number} [priority]
   * @param {ComposeHandlerFunction|HandlerFunction} handlerFn
   * @param {boolean} [unwrap]
   * @param {any} [that]
   */
  const hookFn = function(events, priority, handlerFn, unwrap, that) {

    if (isFunction(events) || isNumber(events)) {
      that = unwrap;
      unwrap = handlerFn;
      handlerFn = priority;
      priority = events;
      events = null;
    }

    this.on(events, hook, priority, handlerFn, unwrap, that);
  };

  return hookFn;
}
Add a <reverted> phase of command interceptor.

@param {Events} [events] command(s) to intercept
@param {number} [priority]
@param {ComposeHandlerFunction|HandlerFunction} handlerFn
@param {boolean} [unwrap] whether the event should be unwrapped
@param {any} [that]