$executor */ public function __construct( private FindEmployee $usecase, private UsecaseExecutor $executor, private EmployeeShowPresenter $presenter, ) { } public function __invoke(EmployeeShowRequest $request): ApiResponse { $input = $this->inputFrom($request); $response = UsecaseBuilder::using($this->executor) ->do($this->usecase) ->from($input) ->with($this->presenter) ->run(); return new EmployeeShowResponse($response); } private function inputFrom(EmployeeShowRequest $request): Input { return new Input( id: $request->employeeId(), ); } }