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.

http://vimeo.com/moogaloop.swf?clip_id=3430561&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=ff9933&fullscreen=1
Passage of Time with PWM and Buttons from Nick Hardeman on Vimeo.

Here is the Download Code.