This OOP framework defines the structure and defines the behavior of the components in the system. (I am going to have a go at this, hopefully I do not get it wrong!) A geometry object might be of a type point, which has properties such as spatial reference and x,y coordinates and might have a project method that transforms it to a different coordinate system.