 
             watcherMatcher
 
+        watcherMatcher = makeWatcherMatcher instanceId, oldValues, newValues
 
         resetCountByModelReactive = {} # "#{watcherModelName}.#{reactiveName}": resetCount
         resetOneWatcherDoc = (watcherModelName, watcherReactiveName) ->
             watcherModelClass = J.models[watcherModelName]
-            console.log "resetOneWatcherDoc: <#{watcherModelName}>.#{reactiveName} watching <#{modelName}
-                #{JSON.stringify instanceId}>.#{reactiveName}"
+            # console.log "resetOneWatcherDoc: <#{watcherModelName}>.#{watcherReactiveName} watching <#{modelName}
+                #{JSON.stringify instanceId}>"
 
             selector = {}
-            selector["_reactives.#{reactiveName}.watching"] =
-                ts: $lt: timestamp
-                $elemMatch:
-                makeWatcherMatcher instanceId, oldValues, newValues
+            selector["_reactives.#{watcherReactiveName}.ts"] = $lt: timestamp
+            selector["_reactives.#{watcherReactiveName}.watching"] = $elemMatch: watcherMatcher
 
             setter = {}
-            setter["_reactives.#{reactiveName}.ts"] = timestamp
+            setter["_reactives.#{watcherReactiveName}.ts"] = timestamp
+
             unsetter = {}
-            unsetter["_reactives.#{reactiveName}.val"] = 1
-            unsetter["_reactives.#{reactiveName}.watching"] = 1
-
-            resetCountByModelReactive["#{watcherModelClass.name}.#{watcherReactiveName}"] ?= 0
+            unsetter["_reactives.#{watcherReactiveName}.val"] = 1
+            unsetter["_reactives.#{watcherReactiveName}.watching"] = 1
+
+            resetCountByModelReactive["#{watcherModelName}.#{watcherReactiveName}"] ?= 0
             watcherModelClass.collection.rawCollection().findAndModify(
                 selector
             ,

                        return

                    if doc?
                        resetCountByModelReactive["#{watcherModelClass.name}.#{watcherReactiveName}"] += 1

                        # Continue to reset one doc at a time until there are no more docs to reset
                        resetOneWatcherDoc watcherModelClass, watcherReactiveName

                        # Also branch into resetting all docs watching this watching-reactive in this doc
                        watcherOldValues = {}

                        J.denorm.resetWatchers watcherModelName, doc._id, watcherOldValues, watcherNewValues, timestamp

                    else
                        numWatchersReset = resetCountByModelReactive["#{watcherModelName}.#{watcherReactiveName}"]
                        if numWatchersReset
                            console.log "    <#{watcherModelName}>.#{watcherReactiveName}:
                                #{numWatchersReset} watchers reset"
                            # console.log "selector: #{JSON.stringify selector, null, 4}"
            )


