Yet More Buttons! -- Single, Multiple, Matrix Add-a-Sketches

Interesting take on the button problem.

The main issue I can find is that it pretty much relies on being called frequently. So no delay() or even a long Serial.print() statement is allowed (just 60 characters at the default 9600 bps and you're hitting your 60 ms mark already).
The solution to this would be a timer interrupt, so the buttons get read pretty much regardless of what else happens. But that again may cause clashes with other libraries that also want to use timers.