Ну вообще твой альтум нарушает psr по оформлению кода. А в целом подобный класс довольно удобен, он разделяет ответственность, можно использовать повторно, легко заменить реализацию и наверняка в нем есть удобные инструменты для рендера шаблонов.
Думаю тебе нужно узнать какие аргументы требует метод контроллера, скорее всего через reflection api. Затем через контейнер зависимостей создавать необходимые объекты и желательно где то заложить возможность создавать правила по которым будет создан объект по аналогии с app bind в сервис провайдерах laravel