Add damage updates and events (fixes #228)

Refactor damage into separate file