Just to make sure I understand... it seems like there would be various race conditions between multiple watch() and/or unwatch() calls while we're in the middle of starting a watch (active not true yet) or in the middle of unwatching (active not false yet) -- except that the queuing done by `_watchOrUnwatchEntry()` / `_enqueueWatchRequest()` / `_watchRequests` guards against all that, right?