Controlling Access to State - Data Hiding Principles | OneNoughtOne