[boost] Question about boost::asio's design