anchor.diff:      counter = prettyPrintTime(s);
     }
   
  +  void updateState(){
  +    if (currentState == ClockState.pomodoro){
  +      currentState = ClockState.rest;
  +      return;
  +    }
  +    currentState = ClockState.pomodoro;
  +  }
  +
     void updateTimeRemaining(Timer _) {
  -    var s  = startPomodoroAt - watch.elapsedMilliseconds~/1000;
  +    var s  = currentDuration - watch.elapsedMilliseconds~/1000;
       
       if( s < 0){ 
  -      stop();
  +      updateState();
  +      setCounter();
  +      reset();
         return; 
       }
       counter = prettyPrintTime(s);
  
positive.code:   
    void reset() {
      watch.reset();
      counter = prettyPrintTime(startPomodoroAt);
    }
  
    void updateTime(Timer _) {
  
negative.code:     durationPomodoro = prettyPrintTime(startPomodoroAt);
      counter= prettyPrintTime(25*60);
      currentState = ClockState.pomodoro;
      currentDuration = startPomodoroAt;
    }
    
    void start() {
  