Reworked to support being cut off in mid-execution.