can you elaborate on the need for this `__new__` and `__setstate__` stuff? i would have thought that celery would handle the pickling for you as long as you implemented those methods...