Function
The module's prize reading, or { hasPrize: false } for a module with no lessons
It is the Achievements counter's own reading, narrowed to one module, so a page showing the prize can never disagree with the counter: tickets stay earned after an un-mark, and a claim stays claimed. Like the counter, reading it records the tickets of lessons that were complete before tickets were stored.
On the server, and before storage has been read, every store is empty, so the
reading is locked with no tickets — callers that must not assert progress
wait for their own "read" signal before showing it.
Reads the prize of a single module from this device: which toy it is, its state and how many of its tickets are earned.