 StorageFolder = require './storage-folder'
 getWindowLoadSettings = require './get-window-load-settings'
 
+Workspace = require './workspace'
+PaneContainer = require './pane-container'
+PaneAxis = require './pane-axis'
+Pane = require './pane'
+Project = require './project'
+TextEditor = require './text-editor'
+TextBuffer = require 'text-buffer'
+Gutter = require './gutter'
+PaneElement = require './pane-element'
+PaneContainerElement = require './pane-container-element'
+PaneAxisElement = require './pane-axis-element'
+TextEditorElement = require './text-editor-element'
+{createGutterView} = require './gutter-component-helpers'
+
 # Essential: Atom global for dealing with packages, themes, menus, and the window.
 #
 # An instance of this class is always available as the `atom` global.

    GrammarRegistry = require './grammar-registry'
    @grammars = new GrammarRegistry({@config})

    @registerDeserializersAndViewProviders()

    registerDefaultCommands = require './register-default-commands'
    registerDefaultCommands(@commands)

  setConfigSchema: ->
    @config.setSchema null, {type: 'object', properties: _.clone(require('./config-schema'))}

  registerDeserializersAndViewProviders: ->
    Workspace = require './workspace'
    PaneContainer = require './pane-container'
    PaneAxis = require './pane-axis'
    Pane = require './pane'
    Project = require './project'
    TextEditor = require './text-editor'
    TextBuffer = require 'text-buffer'

    @deserializers.add(Workspace)
    @deserializers.add(PaneContainer)
    @deserializers.add(PaneAxis)


    CommandRegistry = require './command-registry'
    @commands = new CommandRegistry
    registerDefaultCommands = require './register-default-commands'
    registerDefaultCommands(@commands)

    PackageManager = require './package-manager'
    @packages = new PackageManager({devMode, configDirPath, resourcePath, safeMode, @config})
