Refactored the application start sequence, including unit tests to confirm the functionality changed inside model-application