Splits out PortRequest into its own class.