IBM Cúram Social Program Management™ uses Factory Methods to provide an interface for creating business objects without specifying their concrete classes. All business objects (process and entity) are created by calling factory methods.
Factories optionally support a very fine-grained trace facility using Java™ dynamic proxies.
Factories are useful for debugging and understanding flow of control.