If you want to 'simulate death', I'd suggest performing this inside of 'onStatsChange', and checking if the players remaining life equals the damage that is being applied to them.
(basically meaning, that this damage would have been a death blow. At this point bring the characters life to 1, and disable all healing/damage/movement of the character.
If the character isn't 'revived', then damage the character to 0 life using whatever method you want, and let them die normally.