     @marks = {}
 
   beginDraw: ->
-    @garbageCollect()
-    @oldRoots = @newRoots
     @newRoots = {}
 
   hasViewNodeFor: (model) ->

            return
          else
            children[head.id] = @view.getAuxiliaryNode head

      for id, child of @children
        unless id of children
          @view.flag child

      @children = children


  garbageCollect: ->
    @cleanupDraw()

    for id, el of @flaggedToDelete when id of @map
      @map[id].destroy()
      @destroy id

    for id, el of @newRoots
      el.update()

    @oldRoots = @newRoots

  destroy: (id) ->
    for child in @map[id].children
