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