Structs
Holds the data for running the given task.
Enums
We can run the program in two different modes, one is to run a command with args amd the other mode is to run other things like help, list commands etc
Type Definitions
Extra args passed that will be mapped to the task.