A class is no longer responsible for creating the objects it requires, and it does not have to delegate instantiation to a factory object as in the Abstract Factory[5] design pattern. See also the UML class and sequence diagram below.