Немного уточнил типы в PortBase. Теперь в нём уточняется, какой именно тип сокетов он должен возвращать
Много-много-много переписано, даже частично работает, и даже есть какие-то тесты