           when "collection" then new Collection(ast, model, controller)
           when "if" then new If(ast, model, controller)
           when "in" then new In(ast, model, controller)
-          else new Helper(ast, model, controller)
+          else new Node.helper(ast, model, controller)
       else throw SyntaxError "unknown type '#{ast.type}'"
 
 exports.Nodes = Nodes

    controller.parent = parentController if controller
    controller or= parentController
    new Node(ast, Serenade.render(ast.arguments[0], model, controller), model, controller)

  constructor: (@ast, @element, @model, @controller) ->



  get: -> get(@model, @ast.arguments[0])

class CollectionItem
  constructor: (@children, @model, @controller) ->
    @nodes = (Nodes.compile(child, @model, @controller) for child in @children)
