   # are being used
   chart_holders: {}
 
-  # Loads a chart. Parameters:
-  # - holder_id: id of the dom element that will hold the chart
-  # - options: hash with these keys:
-  #  - wait: if true an api_call won't be fired immediately. Useful when we want
-  #    to show multiple charts on the same page
-  #  - alternate: id of the chart to load if the first one fails. Watch out for
-  #    loops!
-  #  - force: (re)load the chart entirely
+  # Loads a chart into a DOM element making an AJAX request
   #
-  # TODO: refactor, too much stuff is happening here!
+  # chart_id  - id of the chart
+  # holder_id - id of the dom element that will hold the chart (default: 'chart_0')
+  # options   - hash with some options (default: {})
+  #             alternate - id of the chart to load if the first one fails.
+  #                         Watch out for loops!
+  #             force     - (re)load the chart entirely
   #
-  load : (chart_id, holder_id = 'chart_0', options = {}) =>
+  # Returns the newly created chart object or false if something went wrong
+  load: (chart_id, holder_id = 'chart_0', options = {}) =>
     if !options.force && (@pinned_chart_in(holder_id) || @current_chart_in(holder_id) == chart_id)
       return false
 
-    wait = options.wait || false
     alternate = options.alternate || false
 
     App.debug('Loading chart: #' + chart_id)

        @html[chart_id] = data.html
        # Add to the Chart constructor options the id of the container element
        data.attributes.container = holder_id
        # Remember what we were showing in that position
        old_chart = @chart_holders[holder_id]
        # Create the new Chart
        new_chart = new Chart(data.attributes)
        if !new_chart.supported_by_current_browser()

          "href", "/descriptions/charts/#{chart_id}")
        # show.hide the under_construction notice
        root.find(".chart_not_finished").toggle new_chart.get("under_construction")
        App.call_api()
    @last()

  # returns the current chart id
