State held on entities between frames is currently stored in a List<(string, object)> on a managed component. This is relatively slow.
We know the precise types of the state that's necessary for each entity, so we can AOT generate a struct type to hold the state. Unfortunately, we can't inject a new component type into the ECS, so we'll still have to store it as a managed object on LatticeState.