We have a lot of what I’ll call “controller” threads.... that just do a simple series of commands/processes to the device… with very little CPU action.. (maybe a little math)… but these controller threads have lots of wonky dependencies and corner cases that are device specific. we are afraid if we re-wrote the controller thread with callbacks/handlers/state transition… we’ll lose some of those corner cases.