Removes data from the list and emits a change message to surrounding observers
The change snapshot will contain data that was just removed
true if the element was removed, false otherwise