I'd just make this a readonly field and initialise it to `WinState.Undefined`. This also helps remove some of the boilerplate below.