code: def _advance_params(self):
          
          for p in ['x','y','direction']:
              self.force_new_dynamic_value(p)
          self.last_time = self.time_fn()
docs: Explicitly generate new values for these parameters only
          when appropriate.