Thanx Yu,
Maybe you mean the following code will break if we remove this line.
```
        if not hasattr(cls, '__slots__'):
            raise NotImplementedError("Class '%s' must define __slots__ "
                                      "property" % str(cls))
```
Yes? 
But the Virsh class is extending VirshBase class. So ```Virsh.__slots__``` exists and same as his father VirshBase.

So, even we remove it, this check of hasattr in propcan will not fail.

Right?