         @loadKeymaps()
         @loadMenus()
         @loadStylesheets()
-        @loadGrammars()
-        @loadScopedProperties()
+        @grammarsPromise = @loadGrammars()
+        @scopedPropertiesPromise = @loadScopedProperties()
         @requireMainModule() unless @metadata.activationEvents?
 
       catch e

path = require 'path'

_ = require 'underscore-plus'
CSON = require 'season'
fs = require 'fs-plus'
{Emitter} = require 'emissary'

    @scopedProperties = []

  activate: ->
    unless @activationDeferred?
      @activationDeferred = Q.defer()
      @measure 'activateTime', =>
        @activateResources()
        if @metadata.activationEvents?
          @subscribeToActivationEvents()
        else
          @activateNow()

    @grammarsPromise.then(@scopedPropertiesPromise).then(@activationDeferred.promise)

  activateNow: ->
    try
