I thought one thing Glyph was trying to address was the single-use nature of the instancemethod object. Once it's been created, can't you just cache it in the instance for later reuse? When it's needed, you borrow it from the instance, use it, then put it back (assuming the slot in the instance is still empty, otherwise you DECREF it). I think that would make it thread safe. Skip