which is not related to properties being public as it would be the same if you had silly SetXXX() methods
Except that most of those properties shouldn't have been accessible at all. The whole point of objects is that the object is responsible for its own internal state. Otherwise you might as well just use structs.