Port middleman to an Asio backend