Richard Szalay has a great blog post which allows you to use the Reactive Extensions IObservable pattern to subscribe to INotifyPropertyChanged implementers.
However, the syntax is still a little bit clumsy.
By adding a few extra helpers to the class we can go from this:
Here's my slightly modified code.
Why should you layer your APIs like this? Read on here...