hmm, would be nice to make the try/catch as tight as possible rather than that big


actually, what happens if you just get rid of the `if (window.localStorage)` and rely on the existing try/catch?