Class::Factory
This is a simple module that factory classes can use to generate new types of objects on the fly, providing a consistent interface to common groups of objects