There is a major flaw within your module, GetUserIdFromNameAsync is an asynchronous function and it is prone to errors, you aren’t doing anything to protect it from erroring i.e a pcall, though you aren’t 100% guaranteed that the pcall will be successful even after retrying if it fails.
Another flaw is that you’re caching the data before checking if it has loaded or errored:
Calling ViewStore would yield the current thread every time 15 seconds, which is definitely not ideal. Instead you are better off firing a bindable and then waiting for it to be fired.
You aren’t accounting for when a pcall fails nor informing the user the error if your module fails to load/save or wipe data.
Respectfully, I wouldn’t consider this module since it includes many bad practices and is just a simple wrapper which anyone can make in hardly 10-15 minutes.