       throw new NonIteratableObjectError @node.iterator, @collection
 
     @collection.forEach @addOne
-    @collection.observe @update
+    @collection.observe => @applyPatch @collection.getPatch()
 
   addOne: (item) =>
     view = @createView item

    iv.init node, $marker, $parent, obj

  init: (@node, @$marker, @$parent, @obj) ->
    @collectionViews = new Leaf.ObservableArray()

    binder = new Leaf.Template.Binder @obj
    bindingObj = binder.getBindingObject @node.localeBindings

          view = @createView p.element
          $idx = @collectionViews[p.index]?.$view ? @$marker
          view.render $idx
          @collectionViews.splice p.index, -1, view
        when 'removeAt'
          if view = @collectionViews[p.index]
            view.detach()
            @collectionViews.splice p.index, 1


#  Iterator item
