hmm questions (two of them) 1. say i have something in RTFM that's doing something low-priority and then has a critical section in the sense that it needs to talk to some hardware with timing constraints, and then it goes back to low-priority would i just chain software tasks in that case? 2. is there any nice way to express/abstract non-blocking-ness (eg, high priority task is waiting for an I2C response, lower-priority tasks can execute now but are preempted by an I2C interrupt)? this is something that's - iirc - automatically done by ChibiOS's HAL stuff and i'm trying to figure out how to replicate that sort of behavior without terrifying sphagetti