Would you enlighten me why use a factory method is better in this case?