Made an API for constructing handler dispatchers using an anymap to retrieve references to server state from a context. It supports multiple handlers per opcode and conditional guards to short-circuit handlers from running and perform state validation ala mangos' checks to ensure a connection is in a particular state. The use of a DI container context means handlers are fully decoupled from state and can theoretically be hot-reloaded, or using multiple dispatchers at runtime.
Next thing I really want to explore is hot reloading dispatchers from rust dlls. I feel like that has the potential to be extremely useful for RE work.