So this is fun - found another thing about Ruby that I find completely screws up a fairly basic principle of object-oriented design.
The whole point of access level control is to explicitly prevent access to certain methods under certain conditions, thereby allowing you to refactor your classes to p…