 path = require 'path'
 
 _ = require 'underscore-plus'
-EmitterMixin = require('emissary').Emitter
 {Emitter} = require 'event-kit'
 fs = require 'fs-plus'
 Q = require 'q'

  # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe.
  onDidActivateInitialPackages: (callback) ->
    @emitter.on 'did-activate-initial-packages', callback
    @emitter.on 'did-activate-all', callback # TODO: Remove once deprecated pre-1.0 APIs are gone

  onDidActivateAll: (callback) ->
    Grim.deprecate("Use `::onDidActivateInitialPackages` instead.")
    @onDidActivateInitialPackages(callback)

  # Public: Invoke the given callback when a package is activated.
  #

      packages = @getLoadedPackagesForTypes(types)
      promises = promises.concat(activator.activatePackages(packages))
    Q.all(promises).then =>
      @emit 'activated' if Grim.includeDeprecations
      @emitter.emit 'did-activate-initial-packages'

  # another type of package manager can handle other package types.
