Made TransportService's adapter extensible

having the interface is fine IMO, not sure why it's bothering you. The transport implementations don't need to know the concrete implementation the service is using.