           color = "grey" # FIXME
 
           if event.type == "update" or event.type == "add"
-            @editor.cursors.setCursor id, index, text, color
+            @editor.setCursor id, index, text, color
 
         when "characters"
           charPos = (@get "characters").indexOf event.object

    @author = author

    @editor = editor
    # FIXME: shouldn't go there because of modularity
    @editor.cursors = @editor.getModule("multi-cursor")

  _getModel: (Y, Operation) ->
    console.log "getting model"

      model.val "characters", @_characters
      model.val "cursors", cursors

      @setCursor @editor.getCursorPosition()
      @_setModel model

      # listen to events on the model using the function propagateToEditor
      @_model.observe @propagateToEditor
    return @_model

  _setModel: (model) ->
    @_model = model

    noneFound = true
    for cursor in (@get "cursors").val()
      if cursor.author == @author
        @updateCursorPosition(cursor.position)
        noneFound = false
        break

    if noneFound
      @setCursor @editor.getCursorPosition()
    else

    delete @_characters
    delete @_selections
