Flexible change tracking framework for DBIx::Class