feat(change_detector): notify directives on property changes