Make Transaction inherit from an interface
Allow SqlBuilder to make token replacement mandatory
Allow private constructor with snapshotter