- This new abstraction allows us to hook into the transitions between
values without having to resort to reactions. Allowing us to be
explicit in when we want code to execute and also be defensive against
new code paths
Signed-off-by: Sebastian Malton <sebastian@malton.name>