refactor(application): change Application not to use the builder pattern

Change the Application class not to use the builder pattern, and instead rely on method cascades.

Depends on #1391
Closes #938