         options.app = app
         ViewClass = BaseView.getView(viewName)
         view = new ViewClass(options)
-        view.attach($el)
+        view.attach($el, parentView)
+        view
+    _.compact(views)
 
 
 # Noops on the server, because they do DOM stuff.

  @getView: (viewName) ->
    require(rendr.entryPath + "/views/#{viewName}")

  @attach: (app, scope) ->
    $('[data-view]', scope).each (i, el) =>
      $el = $(el)
      if !$el.data('view-attached')
        viewName = $el.data('view')


  # When HTML is already present (rendered by server),
  # this is what gets called to bind to the element.
  attach: (element, parentView = null) ->
    $el = $(element)
    $el.data('view-attached', true)
    @setElement($el)

    # Store a reference to the parent view.
    @parentView = parentView

    # Hydrate looks if there is a model or collection associated
    # with this view, and tries to load it from memory.
