#666 - factor out transaction manufacturing