         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.

  # Call @getView()
  # Attach childView
  attachChildViews: ->
    BaseView.attach(@app, @$el)

  remove: ->
    # TODO is this necessary or does it happen automatically when
    # DOM el is removed?
    @$el.data('view-instance', null)
    super

  # Class methods

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

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