firefly-5 Implement transport abstraction