Cache Immutability
At the moment, Strife's entity cache requires entities to be tied directly to an entity data instance. This is performant, but leads to problems with multithreading, and could potentially be a blocker for the Kotlin/Native port. A potential solution is having entities get the most recent data instance from the cache when needed, which allows cache data to be deeply immutable. This will require significant and backwards-incompatible changes to the frontend.