Reform state handling to assume caching