Factory Design Pattern in C