One approach to fixing #180 is to keep the weakref.ref internally for its convenient detection of a deleted object, but expose the old connection as a read-only property. This should fix many uses cases, everything except assigning to the connection.