anchor.diff:    
     update: (html) -> @view.beforeUpdate(html, {})
   
  -  remove: -> @view.beforeRemove()
  +  remove: -> 
  +    @view.beforeRemove()
  +    @destroy() if @view.isRemoved()
  +
  +
  +  insert: (html) -> @view.beforeInsert($(html), {})
  +
  +  destroy: ->
  +    @$start.remove()
  +    @$end.remove()
  +    @$el?.remove()
  +    delete @$start
  +    delete @$end
  +    delete @$el
   
   
   class Sync.PartialCreator
  
positive.code: 
  class Sync.View
    
    constructor: (@$el, @name) ->
  
    beforeUpdate: (html, data) -> @update(html)
  
    afterUpdate: -> #noop
    
    afterInsert: -> @$el.show()
  
    beforeRemove: -> @remove()
  
    afterRemove: -> #noop
  
    remove: -> 
      @$el.remove()
      @afterRemove()
  
  
    bind: -> #noop
  
    update: (html) -> 
      @$el.html($(html).html())
  
negative.code: 
    insert: (html, channelUpdate, channelDestroy, selectorStart, selectorEnd) ->
      @$el.before """
        <script type='text/javascript' data-sync-id='#{selectorStart}'></script>
        <script type='text/javascript' data-sync-el-placeholder></script>
        <script type='text/javascript' data-sync-id='#{selectorEnd}'></script>
      """
      partial = new Sync.Partial(
        @name,
  