Because the software flow control is time senstive, we may need to swap to using "real" threads.
At the moment, on startup there seems to be some sync issues and also when sending a lot of commands in quick sequence.
So far this hasn't impacted functionality, but is one to watch