Ну это вопрос того, насколько у тебя хорошо прокачан скилл по моделированию доменной области, к TEA это опосредованное отношение имеет
но, кажется, что пока правильно иду:
есть обновляемое по таймеру состояние
пользователь может изменить флажок и тогда таймер будет накидывать время не в aCounterField, а в bCounterField
так же можно пойти в следующее состояние, но предварительно надо убедиться, что все изменения этого состояния отправлены на сервер (как раз что-то вроде дифа - снапшоты), а уже после переходить - для этого нужен еще флажок, по которому можно будет отправить пользователя на следующее состояние, если очередь отправки опустела 🌚
собственно, можно ActiveState и PausedState выделить явно, но в остальном без флажка никак 🙁