++ great work. I want just to add that you can consider using
Class::DBI::Sweet instead of the dated Class::DBI::Pager module (it would replace some other of the used modules as well). Class::DBI::Pager does not use the 'LIMIT' clauses in the database queries so can lead to performance issues. There is also Class::DBI::Plugin::Pager - which does use 'LIMIT' but Sweet is much sweeter.
You might also have a look at the Ajax sortable tables: RFC : AJAX + DBI = DBIx::LiveGrid and think about integrating your modules.