Implements saving changes made by the observed context

I've implement this approach based on a quick chat I had on Twitter:

https://twitter.com/MagicalRecord/status/420954033839280128

This is an initial implementation. Before moving forward with other improvements I would like some feedback. Is this in the right direction? Maybe there is a better approach?