https://alamrafiul.com/posts/go-once-pattern/
Once Pattern in Go