Integrate version.
Add usage.
Add javadoc.
Add help.
Introduce factory for sub commands.
Implement help and version for sub commands.
Remove old app implementation.