     @add model if model.isCorrect @filters
     @
 
-  onModelUpdated: ( model ) ->
-    if model.isCorrect @filters
-      @reorder()
-      @trigger 'update.model', model
-    else @remove model
+  onModelUpdated: ( extModel, model ) ->
+    if model in @
+      if model.isCorrect @filters
+        @reorder()
+        @trigger 'update.model', model
+      else @remove model
+    else if model.isCorrect @filters
+      @add model
     @
 
   onModelDestroyed: ( model ) ->


  show: ( viewName, insertTo, isRelation = false ) ->
    @adaptation ( model ) ->
      view = model.view viewName
      if isRelation
        view.subscribeTo @, 'reset', view.hide
      else unless @visible
        @visible = true
        @prepareViewToShow view
        @hideVisibleViews()
      else
        @::visibleViews.push view
      view.show insertTo
      @inside ?= view.element[0].parentNode
    @

  prepareViewToShow: ( view ) ->


  cloning: ->
    @subscribeTo @Model, "create.#{ @model._name.lower() }", @onModelCreated
    @subscribeTo @Model, "update.#{ @model._name.lower() }", @onModelUpdated
    @adaptations = apply: [], cancel: []
    @ordering    = {}
    @adaptCollection()
    @
