docs: async function actionWith(descriptor, args = []) {
    try {
      descriptor.payload =
        typeof descriptor.payload === 'function'
          ? await descriptor.payload(...args)
          : descriptor.payload;
    } catch (e) {
      descriptor.payload = new InternalError(e.message);
      descriptor.error = true;
    }
  
    try {
      descriptor.meta =
        typeof descriptor.meta === 'function'
          ? await descriptor.meta(...args)
          : descriptor.meta;
    } catch (e) {
      delete descriptor.meta;
      descriptor.payload = new InternalError(e.message);
      descriptor.error = true;
    }
  
    return descriptor;
  }