Идея вообще была такая, удалить все виртуальные методы оставив только Initialize, а уже внутри метода Initialize будут вызываться методы класса ModuleManager (это в прошлом HFApp, я заменил его на ModuleManager), в этом классе менеджера мы добавляем методы AddEvent, который регистрирует события из enum: Config, Execute, Update, FInalize