second transport refactor in progress, event emitters everywhere!