This EIP will add/confirm the key using exchange on completion which happens when the entire routing is done.
But there can be use cases where you want the EIP to do this sooner, eg when the EIP scope ends.
For example outside the scope of the EIP and if some error happens then the on completion will rollback, and then a redelivery can happen. And if so then the idempotent block may execute again, despite that block was success before.
If users do not want this to happen then we need a new option they can turn on to do the on completion when the eip ends, eg in its callback and not as on completion.
What the name of this option should be is ... hard