anchor.diff:      @bind()
   
   
  +  insert: ($el) -> 
  +    @$el.replaceWith($el)
  +    @$el = $el
  +    @afterInsert()
  +    @bind()
  +
  +
   
   class Sync.Partial
   
     constructor: (@name, @channelUpdate, @channelDestroy, @selectorStart, @selectorEnd) ->
  -    @$el = $("[data-sync-id='#{@selectorStart}']").nextUntil("[data-sync-id='#{@selectorEnd}']")
  -    @view = new (Sync.viewClassFromPartialName(@name))(@$el, @name)
  +    @$start = $("[data-sync-id='#{@selectorStart}']")
  +    @$end   = $("[data-sync-id='#{@selectorEnd}']")
  +    @$el    = @$start.nextUntil(@$end)
  +    @view   = new (Sync.viewClassFromPartialName(@name))(@$el, @name)
   
   
     subscribe: ->
  
positive.code:   
    update: (html) -> @view.beforeUpdate(html, {})
  
    remove: -> @view.beforeRemove()
  
  
  class Sync.PartialCreator
  
negative.code: 
  class Sync.View
    
    removed: false
  
    constructor: (@$el, @name) ->
  
    beforeUpdate: (html, data) -> @update(html)
  
    afterUpdate: -> #noop
    
    beforeInsert: ($el, data) -> @insert($el)
  
    afterInsert: -> #noop
  
    beforeRemove: -> @remove()
  
    afterRemove: -> #noop
  
    isRemoved: -> @removed
  
    remove: ->
      @$el.remove()
      @$el = $()
      @removed = true
      @afterRemove()
  
  
    bind: -> #noop
  
    show: -> @$el.show()
  
    update: (html) -> 
      @$el.html($(html).html())
  