HALLELUJAH!

(For anyone searching this in the future, I found your tutorial here.)

There were a couple of details that I wasn't clear on (specifically, "SetTextBoxText" vs "SetTextBoxTextInvoker") but I was able to successfully integrate your code example (using the "SetControlTextInvoker" method so I could change different labels using the same function) but eventually go it to work so now the animation, the label updates, and the copy process all perform simultaneously.

One last concern though: After the copy process was done, I still had to use your Invoker to change my labels ("Done!", etc.)

How do I stop "multithreading" so I'm able to go back to update to updating objects "the old way"?

Big thanks (I feel like I'm in college again.)