       selector = @_get_selector(tool)
       selector.update(indices, final, append)
 
-      @_save(selector, selector.get('indices'))
+      @_save_indices(selector.get('indices'))
       source.trigger('select')
       source.trigger('select-' + renderer_view.mget('id'))
 

      @selectors = {}

    set_selection: (indices) ->
      @_save(null, indices)
      source.trigger('select')

    select: (tool, renderer_view, geometry, final, append=false) ->

      if tool?
        selector = @_get_selector(tool)
        selector.clear()
      @_save_indices([])

    _get_selector: (tool) ->
      _.setdefault(@selectors, tool.model.id, new Selector())
      return @selectors[tool.model.id]

    _save_indices: (indices) ->
      @get('source').save({
        "selected": indices
      }, {patch: true})
