Looks well coded, but these methods should probably be elsewhere. I really want TableScreen to be empty except the two includes. Check in PM::Table and the other modules for an appropriate place (I can point you in the right direction later).