     @mousedownCallbacks = []
     @keydownCallbacks = []
     @render_init()
-    @render()
+    @render_canvas()
     @build_views()
     @request_render()
     return this

  view_options: () ->
    _.extend({plot_model: @model, plot_view: @}, @options)

  build_tools: () ->
    build_views(@tools, @mget_obj('tools'), @view_options())

  bind_tools: () ->
    for toolspec in @mget('tools')
      @tools[toolspec.id].bind_events(this)

  events:
    "mousemove .bokeh_canvas_wrapper": "_mousemove"
    "mousedown .bokeh_canvas_wrapper": "_mousedown"


    @build_tools()
    @bind_tools()
    return this

  bind_bokeh_events: () ->
    safebind(this, @view_state, 'change', @request_render_canvas)
    safebind(this, @x_range, 'change', @request_render)
    safebind(this, @y_range, 'change', @request_render)
    safebind(this, @model, 'change:renderers', @build_views)
