this should not belong to exposed interface as it is only used internally by transaction() method. additional change to #13346