objectManager = $objectManager; $this->generatorFactory = $generatorFactory; $this->config = $config; } /** * Creates instance of service updating case. * As param retrieves type of message generator. * * @param string $type * @return UpdatingServiceInterface * @throws \InvalidArgumentException */ public function create($type) { if (!$this->config->isActive() || $type === self::$caseTest) { return $this->objectManager->create(StubUpdatingService::class); } $messageGenerator = $this->generatorFactory->create($type); $service = $this->objectManager->create(UpdatingService::class, [ 'messageGenerator' => $messageGenerator ]); return $service; } }