java 贪吃蛇Snake 自定义监听器问题

比如:定义一个snakeListener接口
public interface SnakeListener {//定义接口
void snakeMove(Snake snake);//事件源是蛇·
}
在Snake类里面:
public class Snake{
private Set listener = new HashSet();
// 上是一个监听器组,可以注册多个监听器

public void addSnakeListener(SnakeListener l)
    if(l!=null){
        listener.add(l);
    }
}

疑问:为什么要用集合类注册多个监听器?监听器不就是监听蛇移动着一个功能而已吗?为什么要集合类注册多个监听器?  我感觉就是一个监听,不要注册多个啊

    listener.add(l);//这句怎么理解