no need for Task::Weaken
migrate to Net::Async::Webservice::Common