Yeah, some more context might help. I'm synchronising state over the network and only the "owner" process of the object should be able to modify the data. But now that I think of it, a better way would be to just have an interface that provides the getters and then implement it in seperate "OwnedObject" and a "RemoteObject" classes