Exercise 2: Why version Is a Plain Number, Not the Items Array — Possible Solution ==================================================================== WHAT version BEING A NUMBER MEANS ------------------------------ ItemsContext holds no actual item data at all - just an integer that increments every time notifyChange() is called. It carries no information about what changed, only that something did. WHAT THIS CONTEXT IS RESPONSIBLE FOR ------------------------------ Its entire job is coordinating timing - telling every subscribed hook "now is a good moment to refetch your own data," and nothing more specific than that. WHAT THIS CONTEXT IS DELIBERATELY NOT RESPONSIBLE FOR ------------------------------ It does not try to hold a single shared, authoritative copy of every item, and it does not try to cache or avoid re-fetching data that hasn't changed. Each hook (alerts, search, recipes) still owns its own fetch logic and its own Express route entirely independently - this Context never touches or duplicates that data itself. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly explains that version only signals timing rather than carrying any actual data, and correctly distinguishes what this Context's real job is (coordinating when to refetch) from what it deliberately leaves to each individual hook (owning and fetching its own actual data).