Add creational abstract factory project