code: function decorator(fn, options, cb) {
    if (typeof options === 'function') {
      cb = options;
      options = null;
    }
  
    return resolvable(options)
        .then(fn)
        .nodeify(cb);
  }
docs: Decorates a function resolving its resolvables before calling it,
  adding node callback api
  
  @private
  @param {Function} fn The function to decorate
  @param {Object} [options] The options object passed to the command
  @param {callback} [cb] Callback used when in callback mode
  @returns {Promise|undefined} A promise when in promise API