a Mojo::Channel::HTTP could for example emit an upgrade event replacing itself with a Mojo::Channel::HTTP2, which then would emit request events with normal Mojo::Transaction::HTTP objects more asynchronously