Get (a ref) in Array of UObjects altered to Get (a copy)

So I also find this semantic to be problematic. I am making an array of player controllers so that I may call methods from any or all of them from the server. This does not necessarily work if I obtain a copy of the player controller. I am not necessarily making changes to the pointer but I can call events and functions which I need to make sure happen to the player controller within the array. I guess for now as the question states " I have to create even more stupid duct tapes to work it out (some of them cause undefined behavior)."