More refactoring around transport abstraction