Clean up CurrentWeather, dedup some code, and add a few more tests