If we make this a GenContext<tuple<int, size_t, Transaction&> >, we can avoid the getters and setters and eliminate the CopyCallback interface entirely.