Another thing I forgot to mention that was brought to my attention again because someone else stumbled upon it: ALWAYS consume woken state at the end of every loop iteration (hasWoken()).
Another thing I forgot to mention that was brought to my attention again because someone else stumbled upon it: ALWAYS consume woken state at the end of every loop iteration (hasWoken()).