Why make self._data a private attribute?