If I am understanding you correctly, the standard way to use BehaviorSpace does this automatically. If you set the values or ranges you want for each variable, BehaviorSpace will run all combinations of those variables. So in your example, if you set:
["theme-1" 0 10]
["theme-2" 0 10]
That would run four experiments like you want. If you want a whole range you do that like:
["theme-1" [0 2 10]]
["theme-2" [0 2 10]]
which would run 36 runs (every combination for each theme from 0 to 10 going by twos: 0, 2, 4, 6, 8, 10).