Why do you need those exposed in the abstract interface?   Could the usage be limited to inside TCling.cxx?  (I.e. what other routines know about transactions?)