onEntry

inline fun <S : IState> S.onEntry(once: Boolean = false, crossinline block: suspend S.(TransitionParams<*>) -> Unit): IState.Listener

The most commonly used methods onEntry and onExit are shipped with once argument, to remove listener after it is triggered the first time. Looks that it is not necessary in other similar methods.