Имеет имя (выбирается из допустимых для этой модели или кастом) - может быть NULL (если мы не знаем в какой конкретно порт)
Имеет линк на другой порт
Логика привязки порта к другому порту (и обратной привязки)
Если в процессе привязки привязанного порта к себе оказывается что он раньше уже был связан с неким третьим портом, то уже в обработчике afterSave это будет обработано и третий порт отвяжется