Add AbstractFactory Template Code