Sorry, I'm just starting up with Go, I'm not aware of `list.List` pitfalls. I intentionally chose to iterate without lock on a *copy* of the list to allow for concurrent calls to `Subscribe` / `Unsubscribe` (which happen on the original list, under lock).