Есть подозрение что этот подход не верный
Абсолютно. Не понятно, чем вы руководствовались, когда писали статику, да ещё и в контроллере.
Читаем, чтобы впредь не делать такого.
Выносите логику взаимодействия в классы-сервисы, в чем проблема-то? Разделяем саму логику взаимодействия - это инфраструктурный слой и обработку данных - это бизнес-логика.