type UseCase
= { execute: (parameters: P, callbacks: C) => void } type AsyncUseCase
= { execute: (parameters: P, callbacks: C) => Promise }