The main implementation file `BloodBash` is huge. Makes it hard to grok. Better separate concerns into separate modules.