Usando property () em classmethods

Eu tenho uma classe com dois métodos de classe (usando a função classmethod ()) para obter e definir o que é essencialmente uma variável estática. Eu tentei usar a função property () com estes, mas resulta em um erro. Consegui reproduzir o erro com o seguinte no interpretador:

class Foo(object):
    _var = 5
    @classmethod
    def getvar(cls):
        return cls._var
    @classmethod
    def setvar(cls, value):
        cls._var = value
    var = property(getvar, setvar)

Eu posso demonstrar os métodos de classe, mas eles não funcionam como propriedades:

>>> f = Foo()
>>> f.getvar()
5
>>> f.setvar(4)
>>> f.getvar()
4
>>> f.var
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: 'classmethod' object is not callable
>>> f.var=5
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: 'classmethod' object is not callable

É possível usar a função property () com funções decoradas classmethod?

questionAnswers(13)

yourAnswerToTheQuestion