Notes
Do not define a TypeScript interface for a response. The registry entry is
the type. A hand-written interface is a second source of truth that will drift.
Put behaviour in use cases, not controllers. A controller that contains a
condition on business data cannot be reused by the seed script or a future job.