def METHOD_NAME(self, **kwargs):
    """
    Set the control variables valies
    Parameters
    ----------
    **kwards:
        initial_time: float, callable or None
            Initial time.
        final_time: float, callable or None
            Final time.
        time_step: float, callable or None
            Time step.
        saveper: float, callable or None
            Saveper.
    """
    def _convert_value(value):
        # this function is necessary to avoid copying the pointer in the
        # lambda function.
        if callable(value):
            return value
        else:
            return lambda: value
    for key, value in kwargs.items():
        if value is not None:
            setattr(self, key, _convert_value(value))
    if "initial_time" in kwargs:
        self._initial_time = self.initial_time()
        self._time = self.initial_time()