package common; import java.util.HashSet; import java.util.Set; import java.util.function.Consumer; public class ConsumerSignal { private final Set> listeners; public ConsumerSignal() { this.listeners = new HashSet<>(); } public void connect(Consumer listener) { this.listeners.add(listener); } public void clear() { this.listeners.clear(); } public void emit(T arg) { for (Consumer listener : this.listeners) { listener.accept(arg); } } }