     EmitterMixin::on.apply(this, arguments)
 
   ###
-  Section: Instance Methods
+  Section: Accessing Available Themes
   ###
 
   getAvailableNames: ->
     # TODO: Maybe should change to list all the available themes out there?
     @getLoadedNames()
 
+  ###
+  Section: Accessing Loaded Themes
+  ###
+
   # Public: Get an array of all the loaded theme names.
   getLoadedNames: ->
     theme.name for theme in @getLoadedThemes()
 
+  # Public: Get an array of all the loaded themes.
+  getLoadedThemes: ->
+    pack for pack in @packageManager.getLoadedPackages() when pack.isTheme()
+
+  ###
+  Section: Accessing Active Themes
+  ###
+
   # Public: Get an array of all the active theme names.
   getActiveNames: ->
     theme.name for theme in @getActiveThemes()

  getActiveThemes: ->
    pack for pack in @packageManager.getActivePackages() when pack.isTheme()

  # Public: Get an array of all the loaded themes.
  getLoadedThemes: ->
    pack for pack in @packageManager.getLoadedPackages() when pack.isTheme()

  activatePackages: -> @activateThemes()

  # Get the enabled theme names from the config.
  #
  # Returns an array of theme names in the order that they should be activated.
  getEnabledThemeNames: ->

      stylesheetPath
    else
      path.join(@configDirPath, 'styles.less')

  # Public: Resolve and apply the stylesheet specified by the path.
  #
  # This supports both CSS and Less stylsheets.
  #
  # * `stylesheetPath` A {String} path to the stylesheet that can be an absolute
  #   path or a relative path that will be resolved against the load path.
  #
  # Returns the absolute path to the required stylesheet.
  requireStylesheet: (stylesheetPath, type='bundled') ->
    if fullPath = @resolveStylesheet(stylesheetPath)
      content = @loadStylesheet(fullPath)
      @applyStylesheet(fullPath, content, type)
    else
      throw new Error("Could not find a file at path '#{stylesheetPath}'")

    fullPath

  unwatchUserStylesheet: ->
    @userStylesheetFile?.off()
