Introduce transaction.Composition