Change behavior of oldValue for initial observations.
Any code that assumes the oldValue in initial observation is nil, must adjust for this change. The new way of detecting initial observation is comparing old and new value.
if (old == new) {
// Initial observation immediatelly after registering
}
else {
// Observation of relevant setter invocation
}