public void DoUpdate()
        {
            States currentState = _stateProvider.CurrentState;

            switch (currentState)
            {
            case States.Off:
            case States.Empty:
                _controls.SetIndicatorState(IndicatorState.OFF);
                _controls.SetBoilerState(BoilerState.OFF);
                _controls.SetReliefValveState(ReliefValveState.CLOSED);
                _controls.SetWarmerState(WarmerState.OFF);
                break;

            case States.Brew:
                _controls.SetIndicatorState(IndicatorState.OFF);
                _controls.SetBoilerState(BoilerState.ON);
                _controls.SetReliefValveState(ReliefValveState.CLOSED);
                _controls.SetWarmerState(WarmerState.ON);
                break;

            case States.Pause:
                _controls.SetIndicatorState(IndicatorState.OFF);
                _controls.SetBoilerState(BoilerState.ON);
                _controls.SetReliefValveState(ReliefValveState.OPEN);
                _controls.SetWarmerState(WarmerState.ON);
                break;

            case States.Ready:
                _controls.SetIndicatorState(IndicatorState.ON);
                _controls.SetBoilerState(BoilerState.OFF);
                _controls.SetReliefValveState(ReliefValveState.CLOSED);
                _controls.SetWarmerState(WarmerState.ON);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }