A programmer provides you with a class and some documentation describing how its methods are used. When you create objects with this class, you will call methods on the object and get results. As a user, your use of this class is separate and distinct from how the code inside the class was implemented. Which term best describes the concept at work here? A: Enumeration B: Encapsulation C: Subclassing D:Abstraction