Instead of passing `schema` around, it would be cleaner to have different subclasses of `SEPA::CreditTransfer` that overwrite `build_transaction`. OOP FTW!