Propagate change event

Something like this is what I was referring to in #8.  I tried this out and it is extremely handy for doing things like implementing an "edited" icon on screen for modified but unsaved items.

I wasn't able to run the tests or add a new one because `npm install` on OS X seems to hang when downloading phantomjs.  The CPU hits 100% and doesn't stop.