Но это нас ограничивает, а маппинг не ограничивает, ни в именах, ни в путях
тогда есть вариант с магией, но возможностью задать явно (в ларе осень часто так)
в фабрике создаем маппинг и смотрим, если есть соответствие в маппинге мы используем этот класс, а если нет пытаемся найти клас с нужным названием и если такого нет кидаем ошибку