Structure which defines how given argument should be handled. Allows for automatic parsing and validation.
Mutable borrow to parsable argument definition has to be registered in ArgumentList. Because of that
registered arguments cannot be used while those borrows exist. Either ArgumentList instance has to be dropped
or there are no further usages of it. This method of defining arguments is preferred as oposed to using
the legacy API.