Introduce WhenAnyValue() mixin

As suggested in #342, simplifies the 99% case of only caring about the
changed value.