@ZinoSama, if you want to do a lot of little animations, you could take a look at scripter (blows dust off the link). With it, you can have several simultaneous and long-running animations without having to worry about the UI thread.
An example of a button click handler running a counter to 100:
@script def start(sender): label = sender.superview["label1"] set_value(label, "text", range(1, 101), lambda count: f"Count: {count}")