Scenario: Create new context for each instruction

A new command context is now created each time a command is executed.
This allows forks inside of a doWhile loop to work properly, whereas
with the old behavior the forks would trample each others' state.