Refactored damage to use standard event pattern