Thank you so much! It turned out that the last problem in my code was just a little mistake and once I fixed it, that last update that I posted about using reactive({}) and observe() stuff works! This has been great, thank you!
I hope that anyone else who tries to do this will find this whole thing helpful in the future.