Давайте вспомним что контроллеры созданы для связи представления и модели, это их первостепенная задача.
просчет столкновений обязательно на сервере и этот просчет будет являться частью модели.
А вот проверка столкновений с препятствиями на пути это уже дело представления
Когда Вы сделаете правильное приложение с правильной моделью, такое что его можно будет легко портировать на все фраймворки
Вы должны понять что компонент TextArea не имеет модель со значением text, а объект который хранит строку является такой же частью представления.
Вы опять не правы. сегодня как никогда раньше используют активные вьюшки.
Я некоторое время назад хихикал над Вами когда Вы все в сервисы закручивали, а сегодня АДАПТЕРЫ :)
ну mvc 79 это -> m -> v -> c -> и вот как раз это mvc очень просто использовать и в вэбе.
Request -> Adapter1 -> Adapter2 -> Adapter3 -> Model -> Adapter 3 -> Adapter2 -> Adapter1 -> Response
только вот это не будет правильно.
Главное понять ПРЕДНАЗНАЧЕНИЕ и тогда будет понятно что контроллер с точки зрения mvc и с точки зрения ооп должен быть только контроллером и знать только то что он контроллер.
Он должен иметь знания как работать с моделью и представлением и ничего не знать о каких-то валидаторах и прочей ерунде, которыми уже декорируют путь от контроллера к чему-то или от роутера к контроллеру.
Сначала я хотел полностью вас поддержать... но начал думать... а вот если мы пишем "шпионский экшен". И он цвета комуфляжа и местности зависит "заметит ли нас бот". И тут уже не все так однозначно.