Decorar métodos por instancia en Python

Supongo que tengo una clase simple

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

Me gustaría decorar eldoSomething método, por ejemplo, para contar el número de llamadas

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)

Ahora esto cuenta el número de llamadas al método decorado, sin embargo, me gustaría tener un contador por instancia, de modo que después de

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

foo1.doSomething.count es 1 yfoo2.doSomething.count es 0. Por lo que entiendo, esto no es posible usando decoradores. ¿Hay alguna forma de lograr tal comportamiento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta