Why not just return `self._major` etc?