Out of curiosity and not directly related to this PR but is there a reason why those are separate fields? I probably would've made it an enum-like so you can do `state.state >= FINISHING`.