I program supercomputers for a living, and (after spending about 2 minutes scanning it) it looks fine to me. There might be some areas where we can reduce program size, but I'm not real familiar with optimizing for the Arduino yet. (My dev board is on it's way, tho!) You've got lots of memory...