       true
 
     view: ->
-      new Batman.DOM.ViewBinding(arguments...)
+      new Batman.DOM.ViewBinding arguments...
       false
 
     partial: (node, path, context, renderer) ->

class Batman.DOM.ViewBinding extends Batman.DOM.AbstractBinding
  constructor: ->
    super
    @renderer.prevent('rendered')
    @node.removeAttribute "data-view"

  dataChange: (viewClassOrInstance) ->
    return unless viewClassOrInstance?

    Batman.DOM.didRemoveNode(node)

  appendChild: $appendChild = (parent, child, args...) ->
    view = Batman.data(child, 'view')
    view?.viewWillAppear? child

    Batman.data(child, 'show')?.apply(child, args)
    parent.appendChild(child)

    view?.viewDidAppear? child

  insertBefore: $insertBefore = (parentNode, newNode, referenceNode = null) ->
    if !referenceNode or parentNode.childNodes.length <= 0
