Decorate métodos por instância em Python

Suponha que eu tenha uma classe simples

class TestClass:
    def doSomething(self):
        print 'Did something'

Gostaria de decorar odoSomething, por exemplo, para contar o número de chamadas

class SimpleDecorator(object):
    def __init__(self,func):
        self.func=func
        self.count=0
    def __get__(self,obj,objtype=None):
        return MethodType(self,obj,objtype)
    def __call__(self,*args,**kwargs):
        self.count+=1
        return self.func(*args,**kwargs)

Agora, isso conta o número de chamadas para o método decorado, no entanto, eu gostaria de ter um contador por instância, de modo que depois de

foo1=TestClass()
foo1.doSomething()
foo2=TestClass()

foo1.doSomething.count é 1 efoo2.doSomething.count é 0. Pelo que entendi, isso não é possível usando decoradores. Existe alguma maneira de alcançar esse comportamento?

questionAnswers(2)

yourAnswerToTheQuestion