Mastering the Factory Design Pattern in Go