 
   activate: (state) ->
     @subs = new SubAtom()
+    # initialize this package when the tree-view package is activated
     @subs.add atom.packages.onDidActivatePackage (pkg) =>
       @initialize state, pkg if pkg.path.match(/\/tree-view\/?$/i)
 
   deactivate: ->
+    # cleanup the tree view element
     @disable() if treeViewEl?
+    # dispose subscriptions
     @subs.dispose()
 
   serialize: ->
+    # remember if enabled
     {@enabled}
 
   initialize: (state, treeViewPkg) ->

    @hide true
    @enabled = true

  disable: ->
    treeViewEl.classList.remove 'autohide'
    treeViewEl.classList.remove 'autohide-hover-events'

    treeViewEl.style.width = treeViewEl.querySelector('.tree-view').clientWidth
    @enabled = false

  # show/hide the tree view
  toggleVisible: ->
    if treeViewEl.classList.contains 'unfolded'
      @hide true
    else
      @show true, true

  # show the tree view
  show: (noDelay, disableHoverEvents) ->
    width = treeViewEl.querySelector('.tree-view').clientWidth
    noDelay = true if width > treeViewEl.clientWidth > atom.config.get 'autohide-tree-view.hiddenWidth'
