Fix incremental build

The callback wasn't always called because `watch` didn't know whether
the previous call ended.
Convert relabel