Less code, fewer goroutines, less state, no locks, less DRY
Less code, fewer goroutines, less state, no locks, less DRY

This should also fix a race condition that existed between watchers
sending errors and Watch/Command restarting failed watchers.

lytics/metafora,schmichael/metafora,lytics/metafora,schmichael/metafora