package dev.llan.model; import dev.llan.events.GameEvent; import dev.llan.receivers.Receiver; import java.util.ArrayList; import java.util.List; class EventManager { private List receivers; EventManager() { receivers = new ArrayList<>(); } void registerReceiver(Receiver receiver) { receivers.add(receiver); } void removeReceiver(Receiver receiver) { receivers.remove(receiver); } void broadcast(GameEvent event) { for (Receiver receiver : receivers) { receiver.receive(event); } } }