transport abstraction and event routing