"В любом мало-мальски известном и навороченном движке для разработки игр используется махровое ООП и прямые мутации стейта. Только веб-разработчики почему-то решили, что двигать кнопки и клепать формы на 3 поля нельзя с мутабельным подходом, нужен обязательно иммутабельный" это вам свыше передали