Add Practice Factory Design Pattern