package common; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; public class Signal1 { private final List> handlers; public Signal1() { this.handlers = new ArrayList<>(); } public void connect(Consumer handler) { this.handlers.add(handler); } public void disconnect(Consumer handler) { this.handlers.remove(handler); } public void emit(T arg) { for (Consumer handler : this.handlers) { handler.accept(arg); } } }