A simple observer pattern implementation in Go