The combination of an object and a function set is similar to a wrapper, but the distinction is necessary to simplify ownership. Object ownership in the API is important. If not properly defined, you may delete something the system needs, or use something the system has just deleted. API wrappers, objects, and function sets remove any question of ownership. Therefore, the potential for using an object at an inconvenient time, like right after the system has deleted it, is removed.