     @store = @tree.getStore()
 
     @tree.on
-      selectionchange: @createViewChangeEvent
+      selectionchange: @handleSelectionChange
       itemexpand: @onItemExpand
-      checkchange: @createViewChangeEvent
+      itemclick: @handleItemClick
+      checkchange: @handleCheckChange
       scope: @
 
     @getNormalModeBtn().on

    @getMultiModeBtn().setVisible(!multi)
    @getNormalModeBtn().setVisible(multi)

  createViewChangeEvent: ->
    chosenKeys = []
    if @isMulti

    else
      # the chosen key is the selected key (no, really)
      chosenKeys = @getSelectedNode().get("fullname")

    Muleview.event "viewChange", chosenKeys , Muleview.currentRetention

  receiveViewChangeEvent: (keys) ->
