Maybe I'm missing something - but do we need these two asserts? Isn't the second one (checking the complete state change chain) enough and clearer?