This demo uses the Observation from WWDC23 with MVVM.
It displays a Like button that toggles an observed bool and whose label updates to reflect the new state.
If I were okay with making all of my decodable models @Observable classes, I might've just preferred to use a model-view (MV) approach.
I don't necessarily believe that one should use MVVM.
SwiftUI is becoming something where it may not make the most sense.
Switch to the model-view branch for a demo that uses MV.