Take a look at these two videos (Part 1 | Part 2) that explain how Observes make building large applications with many widgets easy.
You listen to changes on an Observe and each widget can decide what to do with the change. You can also bind to specific attribute updates so a widget's change handler is not invoked on every single update.