Separation of test drivers
Refactoring for lazy generation of help.
Breaking change to contructor parameters
New test for mode support
Tests for CommandLineMode and fixes.
Command line mode tests and fixes.
IsMode() and tests
Factory method for modes, plus tests.
Adding HasName() predicate
Mode support and intial tests.
Refactoring help generation.
Fixes for console table formatting.
Improving test coverage and diagnostics.
Additional tests.
Modify CommandLineMode to be non-generic type