One of the many benefits that object-oriented programming gives you is the ability to protect an object's private members by encapsulating them inside public properties. However, it isn't enough to ...