From an OO perspective, I think there are two types of properties. (Note: this only applies inside the class. Class users should not be aware of this difference.)
Some properties are truly independent classes contained in the main class. (The "main" class is the class in question, not necessarily the one that runs the program.) They should be specified only through the property, even in the main code of the class. Looking at its methods of obtaining and installing, you must tell you the whole story of the property. They are not integral parts of the main object, but rather related to information similar to public fields, but more secure.
Another view is an integral part of the main object. In extreme cases, they may not even have a connected area; when called, a getter can collect a value with calculations involving many fields. When there is one field, the internal code that reads and writes to it can find a getter, and the setter will make too many changes. (An object can track a value starting at 5. Over time 10, you can subtract and add 12. At this point, the value should be 7. But the getter may never want to admit that the outside world has a value less than zero, so when the value is -5, it will return 0.)
I would decide what type of property each of them is, and then go one way or another. Do not share the difference. Either all links must be connected to the object itself, or all links must be in the field or fields behind it. (Except that it is best to refer to the property directly, rather than duplicating the code in getter and setter. However, this is not very convenient for me.)
Under the "outside call", I see that there is a normal method that returns the value of a field. That might make sense. To be intuitive, the property should behave as possible as a public field, where the regular method can make changes. (Consider the DistanceInFeet property and the GetDistanceInMeters () method). And it would be advisable to call the Get method, rather than duplicating its code. This means that the common property is of the second type, an integral part of the object.
So, the code you are clearing might be right, OO-wise - but I suspect not.