     @_series_header  = options.series_header or "series_title"
     @_filter_header  = options.filter_header or "filter_title"
     @_tag_header     = options.tag_header or "tag_title"
-    @extra_td_callback = options.extra_td_callback or ((d) -> null)
+    @_currentMetadata = {}
     @initializeQuestionTable()
 
     @_page          = 1

  data: (d) ->
    if d
      @_data = (x for x in d when x.question == @question_id)
      @seriesDomain(d3.scale.ordinal().domain(x.series_1 for x in @_data).domain())
      @filterDomain(d3.scale.ordinal().domain(x.series_2 for x in @_data).domain())
      @tagDomain(d3.scale.ordinal().domain((x.tags for x in @_data).reduce(((x, y) -> x.concat(y)), [])).domain())
      return @
    @_data

  getData: (source) =>
    d3.json(source, (error, json) =>


  render: (options = {}, callback) ->
    dataFilter = @constructDataFilter(options)
    filtered = dataFilter(@displayData(options))
    @data(filtered)
    @paginate(options.page, @_currentMetadata.total_count or filtered.length)
    rows = @question_table.selectAll('tr.response')
      .data(@data())

    rows.enter()
      .append('tr')
