More proper implementation of KVO.