```coffeescript
class FinderPane extends Pane

  constructor: (options = {}, data) ->

    super options, data

    vmController = KD.getSingleton 'vmController'
    vmController.fetchDefaultVmName (vmName) =>
      @finder = new NFinderController
        nodeIdPath       : 'path'
        nodeParentIdPath : 'parentPath'
        contextMenu      : yes
        useStorage       : no

      @addSubView @finder.getView()
      @finder.updateVMRoot vmName, "/home/#{KD.nick()}"

      @finder.on 'FileNeedsToBeOpened', (file) =>
        file.fetchContents (err, contents) ->
          appManager = KD.getSingleton 'appManager'
          appManager.tell 'IDE', 'openFile', file, contents
```

Refactor finder pane to work with multiple vms.
user
```coffeescript
class FinderPane extends Pane

  constructor: (options = {}, data) ->

    super options, data

    KD.getSingleton('appManager').open 'Finder', (finderApp) =>
      @createFinderController finderApp
      @bindListeners()

  createFinderController: (finderApp) ->
    @finderController = finderApp.create()
    @addSubView @finderController.getView()
    @finderController.reset()

    # this is legacy, should be deleted when we open source koding finder
    @finderController.getView().subViews.first.destroy()

  bindListeners: ->
    @finderController.on 'FileNeedsToBeOpened', (file) =>
      file.fetchContents (err, contents) ->
        appManager = KD.getSingleton 'appManager'
        appManager.tell 'IDE', 'openFile', file, contents
```
assistant