Introduced Protocol abstraction + moved Fetcher + asynchttpclient as Protocol implementation