More uncoupling

The WeatherStation didn't need to know exactly who it was talking to,
just that they needed it's info.

In Java they would have made an observer interface.

However in c++11 I think we're better off with a function and a lambda.
This *may have* been optimized out into an inline call if the compiler
had the source to all parts involved.

But at least a lambda is still faster than looking up a virtual
function.