From the code it looks like the intention is that the methods on `Listener` are all safe for concurrent access from multiple goroutines? If so, that feels like a useful thing to document here or in the godoc for `Listener`