Handling startTransaction
In the domain module a TransactionStartedEvent is created and emitted based on the command, nothing else is happening (yet) in the domain module. Add-ons should provide a sensible transaction id, either use a concatenated string of values assumed to be unique, or a UUID etc.
In the OCPP module a JPA entity is used to generate a transaction identifier (number) which is required for OCPP. The transaction identifier used in Motown will be a concatenation of chargeStationId + protocol + generated number.