Изменил логику загрузки сетевого контроллера, сделал его генериком
Убрал из контроллера указание на тип команды
Впилил CommandPreprocessor
SimpleMovementCommand is now immutable (and each command should be)
Зафигачил препроцессоры в управляющую логику. Не работает.
Все заработало
Ослабил ограничения на контроллеры - они теперь не обязаны выдавать команды, и могут выдавать любые объекты. В команды это превращается после препроцессора
Переношу все фабрики в класс LogicPart
Все работает
Убрал лишние классы из Demo
Полностью работает MultiControl
Merge branch 'Refactoring' into Stable