Decouple that application, will you?
All these features can be turned on/off.
- Sync/Async dispatching of commands/events
- Automatic retry of failing commands
- Store commands (commands will be executed at the next start if the app crashes)
- Hold domain events until a transaction successfully committs (events will be deleted if it fails).