IoC
что-то о чем-то конкретном вообще не должно знать
по сути получится так, что есть "модуль" который исполняет свою логику. в конструктор передается все то, что должно "инициализировать" модуль (конфиг конкретно для него, все общеиспользуемые зависимости типа кеша, логгера и т. п.)
ну а в конкретном методе будет вызов реализации. есть возможность вынести что-то в абстракцию (судя по всему должно было бы быть) - было бы хорошо объединить это более общим интерфейсом
P.S. это довольно высокоуровневая точка входа