bind to changes to model.state