private List<MemberConnectionListener> newMemberConnectionListeners() {
        ArrayList<MemberConnectionListener> list =
                new ArrayList<>(memberConnectionListenerSuppliers.size());
        for (Supplier<MemberConnectionListener> supplier : memberConnectionListenerSuppliers) {
            list.add(supplier.get());
        }
        return list;
    }
Use supplier rather than just listener so that we can bind each generated listener to a
specific TcpConnection to make logic simple
turms-server-common/src/main/java/im/turms/server/common/infra/cluster/service/connection/ConnectionService.java