A better version of infinite subcommands

This version is more consistent with the rest of the application.  To add recursively add a sub-sub-command, populate the Subcommands field in the Command object.