Passage of Time with PWM + Buttons

Unfortunately, when pressing a button you have to wait until the
animation sequence is complete to see the effect of the button press,
which is driving me crazy! The only solution that I have come up with is to copy and paste that checking function code throughout the for loops. But I think that there has to be a better way, and I will find it. It's not too bad to do that for this project, but for more complex animations I feel that this way is inefficient and there must be a better solution.

Video Time.
Passage of Time with PWM and Buttons from Nick Hardeman on Vimeo.

Here is the Download Code.