Private parts should not be exposed to interface.
App is a module container.
Improved error reporting, and output to stderr.
Support build with no defined framework.