Returns a single selected S2Choice
@override S2Choice<T>? get choice { return _choice; }
Override the selected choice with a new one, and validate it
@override set choice(S2Choice<T>? val) { _choice = val; validate(); }