I see what you mean. I highly recommend using a Queued state machine, like the other person suggested. See http://openG.org/
This is a 'psuedo' object oriented approach that will free the working part of your code from the user interface and get rid of the problem you are having. I also suggest you give the stop button its own event case.
>
"There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal