     # Event handler
     #
 
+    onDidInitialize : (listener) ->
+        @on "did-initialize", listener
+
     onDidChangeNetworkState : (listener) ->
         @on "did-change-network-state", listener
 

                return if @href in ["#", ""]
                app.command.dispatch "shell:open-url", @href
                false
            $("body").append require("views/nco/view.jade")()
            @region = new RegionManager

        return


    _handleEvents : ->

        @currentWindow = Remote.getGlobal("app")
            .windows.findWindowByBrowserWindow(Remote.getCurrentWindow())

        @_initializeCoreModules()
        @_handleEvents()
        @_handleCommands()

        Migrater.migrate()
        @_initializeNcoModules()
        @_loadServices()

        @_restoreSession()

    _initializeCoreModules : ->
        @command = new CommandManager
        @contextMenu = new ContextMenuManager
        @menu = new MenuManager
