> хорошим дизайном модуля было бы, если в него можно было кидать события, и получать события и на это было бы ограничено взаимодействие с модуляем
Кидаешь массив данных по юнитам - получаешь объект с результатом, на основании которого бой отображается на фронте. Что не так?