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