here, and with `name`, `entities`, `value` and `parseValue`, we try to keep these variables solely in the Run method. This makes the majority of race conditions go away, and makes setting and getting rules very clear. 

It's not required, but I'd love to keep the style of the blocks as similar as possible.