           restoring_context fn, arguments
 
       add_renderable: (renderable) ->
-        run_context.current_context.renderables.push renderable
+        run_context.current_context.renderable_list_builder.add_renderable renderable
+
+      add_rendered: (rendered) ->
+        run_context.add_renderable _lead_render: -> rendered
 
       output: (output) ->
         $item = $ '<div class="item"/>'
         if output?
           $item.append output
-        run_context.add_renderable _lead_render: -> $item
+        run_context.add_rendered $item
         $item
 
       render: (o) ->

        @nested_item $item, fn, args...

      nested_item: ($item, fn, args...) ->
        nested_renderables = []
        run_context.add_renderable _lead_render: ->
          children = _.map nested_renderables, (i) -> i._lead_render()
          $item.append children
          $item

        nested_context = _.extend {}, run_context,
          renderables: nested_renderables
        run_context.in_context nested_context, fn, args

      handle_exception: (e, compiled) ->

      result = (-> eval string).call run_context
      `}`
      run_context.$el.removeClass 'clean'
      run_context.display_object result
      run_context.renderable_list_builder._lead_render()
    catch e
      run_context.handle_exception e, string
    finally
