Weekly walking distance

Hi!
I am wondering is it a nice way to implement weekly distance (steps) for watch face?

I did it with store the data in storage per day_of_week and then sum it up. But maybe there more elegant solution to it?

Code:

function storeWeeklyDistance() {
    try {
      // Get current distnace
      // NB! distance is not reset to 0 in the Emulator on a next day
      var dist = Mon.getInfo().distance;

      // Convert type
      if (dist == null) {
        dist = 0;
      }
      
      // Save memory if distance is the same between ticks
      if (self.previousDistance >= 0 && dist == previousDistance) {
        return;
      }

      // If changed, store the latest distance
      self.previousDistance = dist;

      // Get today's date
      var today = Time.Gregorian.info(Time.now(), Time.FORMAT_SHORT);

     // Check if we need to reset the weekly distance because a new week has started
      if (today.day_of_week == self.firstDayOfWeek && dist != 0) {
        // Get the distance stored for the first day of the week
        var currentDistance =
            Application.Storage.getValue("weeklyDistance_" + today.day_of_week);

        // If data exists and it's greater than the current distance, reset the weekly distance
        if (currentDistance != null && currentDistance > dist) {
          self.resetWeeklyDistance();
        }
      }
      // Store the distance for the current day
      Application.Storage.setValue("weeklyDistance_" + today.day_of_week, dist);
    } catch (ex) {
    }
  }
}

Thanks in advance, Alex