First go at typed-event observer
Merge branch 'master' of https://github.com/ryancurtin/watchman