fetchWeather takes callback