Cool, first post using code tags, +1.
Is the button a toggle or a push button?
For at least 300ms the micro controller is doing nothing. Which means for 1/3 of a second the button cannot be detected. Not such a issue but this is also a good time to checkout the doing multiple things at the same time with millis(); look it up using the search box.
What do you mean by
?