Refactoring towards stateless battle classes. Also made properties like IsAlive set from outside but not calculated.
Generalized battles to abstract stateless interactions between parties.