Reworked rain to be entirely in weather, adding unit tests