code: async function(...args) {
            try {
              return await Executor.prototype[assertion].call(this, ...args)
            } catch (err) {
              if (err instanceof AssertionError) {
                throw new VerificationError(err.message)
              }
              throw err
            }
          }
docs: creating the function inside an object since function declared in an object are named after the property, thus creating dyanmic named funcs also in order to be able to call(this) the function has to be normal declaration rather than arrow, as arrow will be bound to createVerifyCommands context which is undefined