feat(bootstraping): bare-bones implementation of application.

I don't think we need a real constructor here that might be used publicly. 
Rather, only `Application.bootstrap` should be publicly visible, and the `constructor` should actually throw an error.