Adding start of Go creational, abstractfactory complete, the rest are TODO