Refactored guts of CmdMethod to split out Parameters into standalone classes
usage now shows "Foo..." for list and array arguments