Refactor the Interpreter loop to let clients extend the history one step at a
time.