Information hiding and Abstract Data Types (ADT)