the 2nd version to support String besides Boolean. Well, Uncle Bob had
to stop here and consider improve.
introduce ArgumentMashaler before section 14.3
add new exception class and add ArgumentMarshaler of String and Integer
push down get/set of value into concrete ArgumentMarshaler class
combine map of args into one marshaler, inline the "instanceof" instead
of if-else
now marshalers replaces the 3 seperate maps. some functions are inlined as code list 14-12
introduce a List<String>, prepare to remove those type casting
prepare to refactor with polymophism
remove the type casting.
Modify ArgumentMarshaler to a interface.
easy to add support to double
move error messages to class ArgsException
add tests for ArgsException
with more tests, TDD to get final version