 
   destroy: ->
     @unsubscribe()
+    @resetPanel()
+    @messagepanel?.remove()
     @gocover.destroy()
     @gobuild.destroy()
     @golint.destroy()
     @govet.destroy()
     @gopath.destroy()
     @gofmt.destroy()
+    ready = false
+    @emit 'destroyed'
 
   handleEvents: (editorView) =>
     editor = editorView.getEditor()

    @gopath = new Gopath(this)
    @gobuild = new Gobuild(this)
    @gocover = new Gocover(this)
    @messagepanel = new MessagePanelView title: '<span class="icon-diff-added"></span> go-plus', rawTitle: true

    @detect()


    @triggerPipeline(editorView, saving)

  handleBufferChanged: (editorView) ->
    return unless @ready
    @gocover.resetCoverage()

  resetState: (editorView) ->
