Add `didBuild` and `willBuild` to `Watcher`.

This allows consumers to do convienient things (like locking) before and
after building.