Principles of Object Orientation