getFn (propertyName) {
    const originalFnPromise = this.getProp(propertyName)

    return async (...args) => {
      const originalFn = await originalFnPromise
      try {
        return await originalFn(...args)
      } catch (err) {
        logger.error(`[ctx] Error calling ${String(propertyName)}`)
        logger.error(err)
        throw err
      }
    }
  }
A simple helper to improve DX and UX when calling functions.

This function allows you to request a function from AppContext without blocking until you actually need to call it.
@param {ContextProperties} propertyName
@returns {(...args: unknown[]) => Promise<unknown>}