         else
           Promise.reject ignore: true #this won't set backend status
 
-    disposables.add upi.onDidSaveBuffer (buffer) =>
+    @disposables.add upi.onDidSaveBuffer (buffer) =>
       if atom.config.get('haskell-ghc-mod.onSaveCheck') and
          atom.config.get('haskell-ghc-mod.onSaveLint')
         upi.clearMessages ['error', 'warning', 'lint']

        @process.doLintBuffer buffer, (res) ->
          upi.setMessages res, ['lint']

    disposables.add @process.onBackendActive ->
      upi.setStatus status: 'progress'

    disposables.add @process.onBackendIdle ->
      upi.setStatus status: 'ready'

    @process.onBackendActive

      {label: 'Stop Backend', command: 'haskell-ghc-mod:shutdown-backend'}
    ]

    @disposables.add atom.contextMenu.add
      'atom-text-editor[data-grammar~="haskell"]': [
        'label': 'Ghc-Mod'
        'submenu': [
