After characters are created, most of their state changes should be handled via event sourcing so we get a record of what changed and when. I'm thinking of using [Laravel Verbs](https://verbs.thunk.dev/) for this.