Using associated objects to implement weak refs.