I'm not sure I follow. What do you mean by retaining state for the inbound callable? (or are you just suggesting that the reference self.actual be a weakref to make sure the GC doesn't pass by clearing any memory because of a lingering matcher?)