What is the point of providing a `ref` property rather than a public variable given that `externalAttributes` doesn't do anything but return the private variable? It seems to me that if it's going to be `ref`, you might as well just make the variable public, as I don't see how this really provides any additional encapsulation. Or am I forgetting/missing something?