Hi Gerald,
Your thoghts are correct. If you want to persist the challenges and messages of user, you can save them in the Storage Service in JSON format. Here are the two useful links to get started with Storage Service and understanding its functionality.
You can make flag of read document as key in the JSON and can update it once user has read it. See this link for updating JSON docs.
Let me know if it makes sense.
Thanks
Ajay