The Reading Web team took on refactoring a lot of the Page-Previews extension so that it was more maintainable moving forward. A broad plan for the refactor is captured in T149801. We decided to use the third-party Redux library for state management, rather than writing a system that would end up being awfully close to it functionally. Since this library is a new addition, it'll need to be reviewed by a member of the security team.
This review blocks merging the feature branch for the refactor.
What needs reviewing?
We've used Redux v3.6.0. The source for the library is available here. Note well that we're using the "development" (non-minified/mangled) UMD build, available here or from npm, and relying on Resource Loader for minification.
What uses it?
The Popups extension (AKA Hovercards, AKA Page Previews) will use it.