Когда ваша state machine будет переключать состояния, добавить в это место что-то по вкусу:
- логирование
- запись в бд
- запрос на сторонний сервис с данными о событии.
Те сделать что-то не вынесенное в публичное апи — более публичным. Только все же если это не часть публичного апи, то я бы проверял эти переходы юнит тестами