 
     @sourceCollection.update selector, update, multi: true
 
-  _removeSource: (id) =>
+  removeSource: (id) =>
     selector = {}
     selector["#{ @sourcePath }._id"] = id
 

      return

    # We omit _id because that field cannot be changed, or even $set to the same value, but is in target
    @_updateSource target._id, _.omit target, '_id'

Document = class extends Document
  @_sourceFieldUpdated: (id, name, value, field) ->

    else
      @sourceCollection.remove selector

  updatedWithValue: (id, value) =>
    unless _.isObject(value) and _.isString(value._id)
      # Special case: when elements are being deleted from the array they are temporary set to null value, so we are ignoring this
