rework execution such that all state lives on the ExecutionContext and thunks are no longer used
only generate the cmds the first time
fix generators yielding the wrong value on send
build