Added test to assert observe callbacks can't manipulate data
Defensively copy arguments to observe callbacks