This version (and all the macros derived from it) seems like overkill. I don't think RAC should be responsible for simplifying the KVO change dictionary – only the actual method of observation.