If there's no handlers defined for a given WatchCommand, it keeps running in a busy loop, never sleeping.
Fixed by disabling the check loop for watches that don't have any handlers.