Factory Method Design Pattern in Go