Certainly the point of separate storage objects is that they are pluggable. I always imagined that someone with custom needs would instantiate a `PreferencesSystem` with `Scope`s that are configured with the storages that match their needs. The existence of `FileStorage` and `MemoryStorage` here does not preclude that usage (though `PreferencesManager.js` isn't particularly amenable to changing the configuration of the singleton). It seems to me that `PreferencesManager.js` is actually the weaker link when it comes to customizing preference handling.