/** * @param $request * @return mixed */ public function execute($request = null) { if (empty($this->service)) { throw new \LogicException('A use case must be specified'); } $operation = function () use($request) { return $this->service->execute($request); }; return $this->session->executeAtomically($operation); }