observeWhen

fun observeWhen(predicate: (T, T) -> Boolean, observer: (oldState: T, newState: T) -> Unit): Boolean

Adds an observer that only reacts when a predicate is satisfied.