Refining the source code.

Replace the use of List<object> for arguments to an new class ArgList.
Implement constructors.