Core Foundation metaphorically extends object-oriented constructs and notions into procedural programming. In this model, the Base Services of Core Foundation are analogous to a root class in an object-oriented hierarchy. As with any such hierarchy, a thorough understanding of the characteristics and capabilities of the root class is essential to an understanding of all classes in the hierarchy.