Подскажите такой момент по рефакторингу. Есть некий тип, который приходит в реквесте в action контроллера. Исходя из него вызываются различные сервисы которые автовайрятся внутри контроллера, все покрыты одним интерфейсом. То есть по коду есть switch c кучей case в которых идет вызов типа
case 'some_type1':
$this->serviceA->execute().
case 'some_type2':
$this->serviceB->execute().
Нормально будет если сделать парам конвертор который подставит нужный сервис? Что делать в конвертере? не хотелось бы просто перенести этот switch case. Все нужные сервисы уже как бы есть в контейнере, их не надо заново создавать, а только определиться какой взять.