Added Before method to command.  If set, or if command.Subcommands is set, then the command is treated as a recursive subcommand