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.

Closes #938