* handle changes in the model correctly, and propagate (emit signals)