https://github.com/dsplaisted/NotifyPropertyWeaver