Right now we need to hold on to an instance of the `TransitionModel` if we want to observe the model state. Todo: have `InteractionModel` also offer a flow of `<ModelState>`, and implement it in `BaseInteractionModel`.