I like this better, fewer surprises. The intent is not the same as the original, the only other impl I can think of requires only moving back to False if all registered values have been read out, which seems even less intuitive. so hard...