     else
       @_processingQueue = false
 
+
+  ###
+  Methods called from AtomWindow
+  ###
+
   # Public: Removes the {AtomWindow} from the global window list.
   removeWindow: (window) ->
     @_windows.splice @_windows.indexOf(window), 1

    @_hotWindows[windowType].windowPackages ?= (windowPackages ? [])

    @_replenishHotWindows()

  defaultWindowOptions: ->
    devMode: @devMode

    options = _.extend(@defaultWindowOptions(), options)
    win = new AtomWindow(options)
    win.showWhenLoaded()
    return win

  # Tries to create a new hot window. Since we're updating an existing
  # window instead of creatinga new one, there are limitations in the
  # options you can provide.
  #
  # Returns a new AtomWindow
  #
  newHotWindow: (options={}) ->
    hotWindowParams = @_hotWindows[options.windowType]
    win = null

    if not hotWindowParams?
      console.log "WARNING! The requested windowType '#{options.windowType}' has not been registered. Be sure to call `registerWindowType` first in your packages setup."
      return @newColdWindow(options)

    if hotWindowParams.loadedWindows.length is 0
      # No windows ready
      options.windowPackages = hotWindowParams.windowPackages
      win = @newColdWindow(options)
    else
      [win] = hotWindowParams.loadedWindows.splice(0,1)
      newLoadSettings = _.extend(win.loadSettings(), options)
