It's good to play around with different ways of doing things so that when you are trying to do something more complex you have the experience, but for this case it really makes much more sense to create two simple commands with no payloads and no logic. It also allows you better control over how you can phrase each command, since the yes and no responses may required different sentence structure.
The only time I would go out of my way to combine multiple commands into one command is when you are dealing with large payloads. So for example if you have a "play artist" command and "browse artist" command, it makes sense to combine them so you are not creating two commands that both use a lot of memory to store all the possible artists in your library.
Here's an example of a way to do your yes/no morning jazz routine with two very simple commands.
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.1-->
<commandGroup open="True" name="Time of day" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="420" name="Yes play some jazz please" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<params>
<param>Player.Open</param>
<param>"item": {"file":"http://pub2.jazzradio.com:80/jr_smoothjazz"}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Yes, Yes please</phrase>
<phrase>play some jazz</phrase>
<phrase optional="true">please</phrase>
</command>
<command id="412" name="No jazz this morning thanks" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>TTS.SpeakSync</cmdType>
<params>
<param>OK, I hope you have a nice morning!</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>No jazz this morning</phrase>
<phrase optional="true">thanks</phrase>
</command>
</commandGroup>