True, fixing state sounds like a huge can of worms. It's like writing a system that can detect that there is something wrong with it and fix it, and then writing more code to do the same for the fixing system, and then for the fixing-the-fixing system...
However, I think that it makes sense to try to keep the game running even when there's a small glitch somewhere. If for nothing else than for saving the player character and giving the player a chance to start a new game with it.