Added more logging and tweaks to while_state functions.
Changed expected behavior of weather so that the weather.get_condition() method populates the weather.safe property.  The weather.get_condition() method is then called at the beginning of each while_state function.  This prevents the method to query the weather from being called many times in each while_state function since it can be used at multiple times.  We may want to do this for other properties, I’m not sure.