Recording Mutations, Not Events

An offline-first photo manager whose library code has no idea it has a sync backend. One enum, one trait, three implementations behind it, and the architectural property they buy together.