Updates the adapter with data and emits a change message to surrounding observers
The change snapshot will contain the value that was just updated
true if the element was added, false otherwise