Command-line arguments are now validatable and filterable, and can be set as required or not. Also added named positional arguments and array positional arguments