`RACObservablePropertySubject` used to be marked as thread-unsafe, so it had to be used on properties being changed from only one thread at the time, when I factored out the guts of the method to `-rac_valuesForKeyPath:observer:` I added the serialization constraint so this became thread-safe without having to change anything, since the callbacks were being serialized externally.
Now that I got rid of the serialization I was thinking of reverting `RACObservablePropertySubject` back to being thread-unsafe, but you might be pointing in the right direction with thread local storage. I just hope `-willChangeValueForKey:` and `-didChangeValueForKey:` being called on different threads for the same change is too crazy even for KVO.

@jspahrsummers What do you think?