States now accept an expression, which is evaluated every time the state function is called.