[OCD] Added Basic Factory Design Pattern