Changed Entity.FirePropertyChanged() to protected.
merged with upstream