Possible refactoring: ```php interface RetryStrategyFactory { public function createFromArray(array $data) : RetryStrategy; } class RetryHandler implements Handler { ... public function setStrategyFactory(string $name, RetryStrategyFactory $factory) : self { ... } public function handle(Task $task, Queue $queue): void { ... $strategy = $this->factories[$strategyName]->createFromArray($retryOptions); ... } } $retryHandler = (new RetryHandler()) ->setStrategyFactory(RetryStrategies::CONSTANT, new ConstantRetryStrategyFactory()) ->setStrategyFactory(RetryStrategies::LINEAR, new LinearRetryStrategyFactory()) ; ```