Final factory method refactoring.