[minor] Is the double underscore really required here? We might not even sub-class this class, and even if we do, we would probably like the sub-class to access these attributes in a sane manner.