Application is so central to us that our standards should be a bit higher. Could you add comments to the public methods here, to give some context what will take place. Sometimes is hard to write a good comment ("Call this function to launch the application" is not a good comment :).

Giving some context to what launch means/does could be useful.

The same applies to the other public members: what is an active application, could there be more than one at the same time? What is the application id, is it unique per session or per installation, is it assigned by us or came from the installation? What is the "maindocumentruntime" (I certainly can read the spec, but use the opportunity here to give some context)?