Doesn't this add a dependency on boost::asio?