TransmissionProtocol is now an interface and uses the "enumeration
extension" pattern.