 
   consumeLinter: (@linter) =>
     LinterComponent = require './linter/linter_component'
-    @linterComponent = new LinterComponent(@linter, @errorRepository)
+    setupLinter = =>
+      @linterComponent = new LinterComponent(@linter, @errorRepository)
+    if @hasBooted
+      setupLinter()
+    else
+      onBoot => setupLinter()
 
   # TODO: becoming massive, refactor.
   boot: =>
     return if @hasBooted
-    @hasBooted = true
 
     # HACK: for some reason Atom is saving every dart-tools marker
     # This code flushes all pre-existing markers...

      Utils.dartSdkInfo (sdkInfo) =>
        @sdkInfo.showInfo(sdkInfo)

  registerGlobalCommands: =>
    Stagehand = require './stagehand/stagehand'
    atom.commands.add 'atom-workspace', 'dart-tools:stagehand', =>

{CompositeDisposable} = require 'atom'
{Emitter} = require 'event-kit'
Utils = require './utils'
AutoCompletePlusProvider = require './autocomplete/provider'
_ = require 'lodash'
