We have the ability to easily do much more granular change tracking than simple `assigns` level like LiveView does. I imagine an `assign_in` which, when given a path, will update something more deeply nested in the assigns. We can persist that change information and use that as a first level of change tracking. When combined with https://github.com/hansihe/live_data/issues/12, this could enable us to do some really impressive optimizations.