Example usage:
string[] options = { "-title", "-description" }; //the arguments that the user can pass in
string[] inputs = Console.ReadLine().Split(' '); //input from the user such as "-title hello world -description say hi"
var optionsValues = OptionParser.Parse(options, inputs, "-") //the "-" is to remove the prefix from the options when they are returned
optionsValues.TryGetValue(nameof(Todo.Title)) //use tryget to get an item from the dictionary