more work on the timing
halfway through a major shift implementing coroutines. Non-working state