Notification infrastructure



<!---
@huboard:{"order":236.25,"milestone_order":336,"custom_state":""}
-->

Maybe we should use something like [nib](http://visionmedia.github.io/nib/) for this?