       platformChangedBy = doc.updatedBy?.toUpperCase()
 
       for platform, handle of Apollos[collection].changed
-        if platformChangedBy and (platformChangedBy isnt platform.toUpperCase())
-          handle doc
+        if platformChangedBy isnt platform.toUpperCase()
+          handle doc, oldDoc
 
-    removed: (id) ->
+    removed: (oldDoc) ->
 
       Apollos[collection].deleted or= {}
 
       for platform, handle of Apollos[collection].deleted
-        handle id
+        handle oldDoc
 
 
   initializing = false

      platformAddedBy = doc.updatedBy?.toUpperCase()

      for platform, handle of Apollos[collection].added
        if platformAddedBy and (platformAddedBy isnt platform.toUpperCase())
          handle doc

    changed: (id) ->

      doc = Apollos[collection].findOne id
      if changeWasAlreadyHandled doc, collection
        Apollos.debug "#{collection} #{id} change already handled"

      createdDate: 0
      updatedDate: 0
      updatedBy: 0
  ).observe

    added: (newDoc) ->

      id = newDoc._id

      if initializing
        return
