This is just me, but I learned from another wise man (Mr. @xpaulbettsx) that code like this is too imperative. Ideally, you only need to explicitly raise one property change event when a property changes and instead use `ObservableAsPropertyHelper` for the other properties if they're calculated read-only properties.