for now, i've dropped back to some recursion using...
# coroutines
k
for now, i've dropped back to some recursion using CompletableFuture because i can ensure that the next frame happens on another thread using
thenComposeAsync