type State interface {
WithTxn(fn func() error) error InTxn() bool ResetTxn() error}
State represents the transaction state for a single request.
A State object instance should exist only within a single goroutine.
It MUST NOT be shared between goroutines.