I wonder whether it would be neater to have a `TotalOrderCommitCommand` and a `CommitCommand`, instead of cramming logic from both into the same command and have an extra reference to the configuration. The command factory could decide, based on `configuration.transaction().transactionProtocol().isTotalOrder()`.