       @listenTo(@model, 'data_update', @plot_view.request_render)
 
   render: () ->
+
+    @set_data(@mget('source'))
+
     if @mget('render_mode') == 'css'
       @_css_text()
     else


  props: ->
    return _.extend {}, super(), {
      render_mode:  [ p.RenderMode,   'canvas'  ]
      x_units:      [ p.SpatialUnits, 'data'    ]
      y_units:      [ p.SpatialUnits, 'data'    ]
      angle:        [ p.AngleSpec,    0         ]
      x_offset:     [ p.Number,       0         ]
      y_offset:     [ p.Number,       0         ]
    }

  defaults: ->

  _canvas_text: () ->
    ctx = @plot_view.canvas_view.ctx

    x_offset = @mget('x_offset')
    y_offset = @mget('y_offset')

    [@sx, @sy] = @map_to_screen(_.map(@x, (x) -> x + x_offset),
                                _.map(@y, (y) -> y + y_offset))

    debugger;
    for i in [0...@x.length]
      ctx.save()
      ctx.translate(@sx[i], @sy[i])
      ctx.rotate(@mget('angle'))

      @visuals.text.set_value(ctx)
      ctx.fillText(@text[i], 0, 0)
      ctx.restore()

  _css_text: () ->
    console.log('css not implemented')
