finally, simple solution for KVO compliance