Correct way to deal with button click to wakeup

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()).