Refactored the weather backend

Refactored the weather backend, moved the weather service into a shared instance, and changed the naming of some properties.