Currently DatasourceObservation#register accepts mere Runnables (i.e. actions without without any inbound arguments), pretty much leaving us with only one observation reaction: "refresh the whole thing". For example, the app will still be refreshed even if the change occurred in an item the user doesn't have access to.
As an optimisation or improvement of the interface, we could consider including addtional information about changed items (and maybe user) when triggering the listeners.
This could potentially save us the effort and CPU resources by letting us skip the actual actions when they are irrelevant, or execute the update in a more intelligent way rather than a full refresh.