def METHOD_NAME() -> None:
    nonlocal timeout_scheduled, running_requested
    assert timeout_scheduled
    if running_requested:
        function()
        any_widget.after(ms_between_calls_min, METHOD_NAME)
        running_requested = False
    else:
        timeout_scheduled = False