       @html = @constructor.store.get(source)
 
     set: (key, html) ->
-      @html = html
-      @isBound = false
       @destroyBindings()
       @destroySubviews()
+
+      @html = html
 
       @loadView(@node) if @node and html?
       @initializeBindings() if @bindImmediately

      Batman.removeData(oldNode, 'view', true) if oldNode
      return if node == @node

      @node = node
      @isBound = false
      return if not node

      Batman._data(node, 'view', this)

  destroyBindings: ->
    binding.die() for binding in @bindings
    bindings = []
    @isBound = false

  destroySubviews: ->
    subview.die() for subview in @subviews.toArray()
