on Entry
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.