Description
State management is an extremely difficult problem for screen readers. Axum's method of handling state is somehow quite ingenious. Especially since we could run multiple handlers concurrently (or in parallel) and lock with sync primitives.
I'd like to implement something similar. I think this would be a great step for Odilia in terms of maintainability. And, it avoids (kind of) having global state. It at least allows me to capture partial state when needed :)
In a previous attempt at handling state, I came up with #120 , which did solve the state management issue, but it introduced an entire set of its own problems. The primary one being that it is extremely rigid, and requires adding structure members just to change what is accepted by each event handler. I got a lot of pushback for this idea, since, although it does kind of work... it introduces a significant barrier in development not likely to be cleaned up quickly. This is objectively a better system, if I can somehow figure out how to implement it.