The dirty state is computed before the beforeDocumentModification.
The versioning depends on the dirty state.
=> so if there's no modification but some update made by the event, no version are triggered.
the validation is executed before the event
the validation depends on the dirty state
We should consider to compute the dirty state twice. There may have an overhead we should estimate.