For implementors, it is recommended to derive from the provided
class, which pre-implements the defined propagation behavior and takes care
of transaction synchronization handling. Subclasses have to implement
template methods for specific states of the underlying transaction,
for example: begin, suspend, resume, commit.
The default implementations of this strategy interface are
which can serve as an implementation guide for other transaction strategies.