def METHOD_NAME(self):
    ## don't maintain a list per se, instead exponential
    time_since_last_call = self._elapsed_time_since_last_called()
    current_estimate = self.current_estimate_of_times
    if current_estimate is None:
        ## seed the current estimate
        current_estimate = time_since_last_call
    else:
        current_estimate = ((1 - PROGRESS_EXP_FACTOR) * time_since_last_call) + (
            PROGRESS_EXP_FACTOR * current_estimate
        )
    self.current_estimate_of_times = current_estimate