My thought was to have all your decisions in your scripted step, writing a property value:
if(my Assertion 1 stuff) {
testExec.setStateValue("assertThis", "value1");
}
if(my Assertion 2 stuff) {
testExec.setStateValue("assertThis", "value2");
}
if(my Assertion 3 stuff) {
testExec.setStateValue("assertThis", "value3");
}
You would use a set of "Ensure Property Matches Expression" exceptions, so "assertThis=value1" goes to one next step, "assertThis=value2" goes to another, etc.