Adding Creational / Abstract Factory impl, tests and comment out warn in Single impl