anchor.diff:    
     void reset() {
       watch.reset();
  -    counter = prettyPrintTime(startPomodoroAt);
  +    counter = prettyPrintTime(currentDuration);
     }
   
     void updateTime(Timer _) {
  
positive.code:     durationPomodoro = prettyPrintTime(startPomodoroAt);
      counter= prettyPrintTime(25*60);
      currentState = ClockState.pomodoro;
    }
    
    void start() {
  
negative.code:     if (value != null){
        startPomodoroAt = value*60;
        durationPomodoro = prettyPrintTime(startPomodoroAt);
        if (currentState == ClockState.pomodoro){
          counter = durationPomodoro;
          currentDuration = startPomodoroAt;
        }
      }
    }
  
    void setDurationRest(string duration){
      var value = int.parse(duration, onError: (source) => null);
      if (value != null){
        startRestAt = value*60;
        durationRest = prettyPrintTime(startRestAt);
        if (currentState == ClockState.rest){
          counter = durationRest;
          currentDuration = startPomodoroAt;
        }      
      }
    }
  
    void setCounter(){
      switch(currentState){
        case ClockState.pomodoro:
          counter = prettyPrintTime(startPomodoroAt);
          currentDuration = startPomodoroAt;
          break;
        case ClockState.rest:
          counter = prettyPrintTime(startRestAt);
          currentDuration = startRestAt;
          break;
      }
    }
  
  