Maybe declare the cache above the `_cacheThemeState` for clarity. I guess one other advantage, except for getting === comparisons, is that we intern all these states and save some memory (since some states will probably be created over and over independently).