ArgvInput represents an input coming from the CLI arguments.
ArrayInput represents an input provided as an array.
Input is the base class for all concrete Input classes.
Represents a command line argument.
A InputDefinition represents a set of valid command line arguments and options.
Represents a command line option.
StringInput represents an input provided as a string.


InputAwareInterface should be implemented by classes that depends on the Console Input.
InputInterface is the interface implemented by all input classes.