..And it looks like it never worked. In short, the listenExternalChanges adds listens for events from the storage API and then updates the store by setting it, which updates the underlying storage layer that triggers another event and forms an infinite loop tying up the thread.