In the previous chapter, we analyzed information hiding as a mechanism to hide implementation details from external parties (clients and providers). However, we haven’t spent a lot of time looking at our subjects as physical entities. We were complacent with the notion that we do possess some logical entities that need their own API. We have merely struggled to reduce the amount of exposed implementation details to conceive an evolvable API. In this chapter, our focus is on the kinds of entities we usually manage in large software projects, and how such entities are materialized as a unit of use and reuse.