           Messages = Messages.concat(Result)
         else
           Messages.push Result
-      @Messages = Messages
+      if onChange
+        @MessagesFly = Messages
+      else
+        @MessagesRegular = Messages
+      @Messages = @MessagesFly.concat(@MessagesRegular)
       @render()
     , =>
       console.error arguments
-      @InProgress = false
+      if onChange
+        @InProgressFly = false
+      else
+        @InProgress = false
   render:->
     if not @Messages.length
       @ViewPanel.hide() if @ViewPanel.isVisible()

      else if RetVal
        Promises.push RetVal
    Promise.all(Promises).then (Results)=>
      @InProgress = false
      Messages = []
      for Result in Results
        continue if (not Result) or (typeof Result) isnt 'object'

      return unless @LintOnFly
      @SubLintOnFly.add editor.onDidStopChanging @lint.bind(@, true)
  lint:(onChange)->
    if onChange
      return if @InProgressFly
      @InProgressFly = true
    else
      return if @InProgress
      @InProgress = true
    onChange = Boolean onChange
    @lint(true) unless onChange

    ActiveEditor = atom.workspace.getActiveTextEditor()
    Buffer = ActiveEditor.getBuffer()
