     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()

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

  unwatchUserStylesheet: ->
    @userStylesheetFile?.off()

      fs.resolveOnLoadPath(stylesheetPath)
    else
      fs.resolveOnLoadPath(stylesheetPath, ['css', 'less'])

  loadStylesheet: (stylesheetPath, importFallbackVariables) ->
    if path.extname(stylesheetPath) is '.less'
