switch.go
func (sw *Switch) AddListener(l Listener) {
	sw.listeners = append(sw.listeners, l)
}
func (sw *Switch) AddListener(l Listener) {
	sw.listeners = append(sw.listeners, l)
}
// Not goroutine safe.