Document ComponentProvider interface.
Drop some of the stack size of the launcher.

* Remove needless chained methods
* Attempt to create re-usable parsing methods.
Merge pull request #1037 from jsuereth/wip/launcher-improvements

Minor launcher improvements