Просто реализуйте класс, такой как 'TcpConnectionManager', который регистрируется в реестре - давайте назовем его 'P2PConnectionRegistry' при запуске. (Реестр должен быть классом, поддерживающим HashMap - он не может быть HashMap.).
Если необходимо создать новое соединение, вы вызываете p2pConnRegistry.addConnection (...); откуда-то (например, пользовательский интерфейс).
Этот метод добавляет необходимые параметры в свою внутреннюю структуру данных (например, HashMap) - и затем вызывает registryListener.connectionAdded (...);
Этот RegistryListener является экземпляром TcpConnectionManager.
Это очень простая модель для "разделения интересов".
Надеюсь, это был твой вопрос, это помогает, привет,
Michael