From empirical testing, it seems that if you initially set a variable to private, then the server can't ever change the owner. However, if you change the owner of a public variable (to the server for example) and then set it to private, then it works fine. Is this by design?
The reason I ask, is that I'm implementing waiting rooms for games. If the host leaves a room, I elect a new "host" with permissions to launch the game. However, the new host wouldn't be able to change any of the private room variables of the old host, even by doing the work in the server extension, and those variables will get deleted when the original host disconnects. If I initially set the vars to public, then on the server set the owner to the server and set it to private, the host reassigment works fine, but the host would have to make extension message calls to change the room variables.