       platformAddedBy = doc.updatedBy?.toUpperCase()
 
       for platform, handle of Apollos[collection].added
-        if platformAddedBy and (platformAddedBy isnt platform.toUpperCase())
+        if platformAddedBy isnt platform.toUpperCase()
           handle doc
 
-    changed: (id) ->
+    changed: (newDoc, oldDoc) ->
 
+      id = newDoc._id
       doc = Apollos[collection].findOne id
       if changeWasAlreadyHandled doc, collection
         Apollos.debug "#{collection} #{id} change already handled"

      createdDate: 0
      updatedDate: 0
      updatedBy: 0
  ).observeChanges

    added: (id) ->

      if initializing
        return

      platformChangedBy = doc.updatedBy?.toUpperCase()

      for platform, handle of Apollos[collection].changed
        if platformChangedBy isnt platform.toUpperCase()
          handle doc, oldDoc

    removed: (oldDoc) ->

      Apollos[collection].deleted or= {}

      for platform, handle of Apollos[collection].deleted
        handle oldDoc


  initializing = false
