       changes: new Bacon.Bus
       pending: asyncs.scan 0, (a, b) -> a + b
       current_options: {}
-      renderable_list_builder: delayed_then_immediate_renderable_list_builder()
-      _lead_render: ->
-        result = render @renderable_list_builder
-        @changes.push true
-        result
-
+      renderable_list_builder: component_list()
       running_context: -> running_context_binding
 
       options: -> @current_options

    run_in_context,
    eval_coffeescript_in_context,
    eval_in_context,
    render,
    scope,
    collect_extension_points
  }

          restoring_context fn, arguments

      add_renderable: (renderable) ->
        @add_component component_for_renderable renderable
        ignore

      add_component: (component) ->
        @renderable_list_builder.add_component component

      add_rendered: (rendered) ->
        @add_rendering -> rendered

      # adds a function that can render.
      # the function will be called in the current context.
      add_rendering: (rendering) -> @add_renderable _lead_render: @keeping_context(rendering)

      render: render
