Фигня в том, что если ты изменяешь стейт в процессе кодирования, этот стейт перестаёт соответствовать какому либо коду. И из-за этого могут быть ошибки. Точнее, они 100% будут.
Хмм, кстати, допустим ты добавил новое поле объекту, и функции которые его используют. Что этот объект должен сделать? Пересоздаться на той позиции где был? У него должно добавиться это новое поле и подмениться метатаблица или что?
Хмм, он мог быть в каком-то сложном состоянии, типа "я ща готовлюсь выстрелить, вот даже анимацию запустил", оно сбросится или застрянет где-то между (рассинхрон между геймстейтом и рендерстейтом). Вот в том числе поэтому и slozhna.