Add a struct-based facility to add options and arguments