Have an internal discussion with Mikhail, I'll make the following change,
0) Remove ‘LaunchAndObserveMainDocument()’ in ApplicationService. 
1) Remove ‘friend MainContentObserver from ApplicationProcessManager, declare the observer under a nameless space of ApplicationService. The observer will be created in ApplicationSerivce::Install(). Add a ‘FIXME’ comment so that it can be put at correct place (Application class) when refactoring.
2) Add a new function in CloseRunningApplication() in ApplicationProcessManager or introduce ability to close the running Application immediately. Therefore, when WebContent finish loading, it can immediately close the application and quit the main loop.