Nice enhancement, we could add some validation to the value.

I mean, probably we want to check that the new value is >= that the current counter and also that is not bigger that total.

WDYT?