S get state => _state;
Updates the State and notify to listeners and rebuild the widgets
state must be different of the current state
@visibleForTesting @override set state(State newState) => super.state = newState;