... or a Construct() method (or some other similarly suggestive name) as a direct member of the class. The downside (as against a Factory) is an extra line of code at object create time, the upside is, er, not having to write the Factory(!) Depends on the size and complexity of the problem.
[puts "Design Patterns" back onthe bookshelf...]
Mike