Golang Design Patterns - Visitor Pattern