     App.debug """Loading chart: ##{chart_id} in #{holder_id}
                #{window.location.origin}/admin/output_elements/#{chart_id}"""
 
+    @chart_requests.push(@request_output_element(chart_id, holder_id, options))
+
+    @last()
+
+  request_output_element: (chart_id, holder_id = null, options = {}) =>
     $.ajax
-      url: "/output_elements/#{chart_id}"
+      url: "/output_elements/#{ chart_id }"
       success: (data) =>
         holder_id = @add_container_if_needed(holder_id, options)
 

        # want to be able to show the same chart more than once
        #
        settings = _.extend {}, data.attributes, {
            id: "#{data.attributes.id}-#{holder_id}"
            chart_id: data.attributes.id
            container: holder_id
            html: data.html # tables and block chart

        charts_to_load.holder_0 = @default_chart_id

    ordered_charts = _.keys(charts_to_load).sort()

    for holder in ordered_charts
      chart = charts_to_load[holder]
      # The chart string has this format:
