Lets say I have a function func_20 that calls func_19, that in turn calls func_18 and so on until func_1. The call stack is func_20 -> func_19 -> func_18 -> ... -> func_1. And they all use prop1:
func func_n():
.........................
.........................
func_n-1()
use_prop1()
.........................
.........................
Then at some point I change func_1 so it starts animation that changes prop1 and wait until the animation ends before it continues with whatever it is doing:
func func_1():
.........................
.........................
start_animation()
wait_for_animation_end()
use_prop1()
.........................
.........................
How do I wait for this animation without making changes in other methods in the call stack?