I need a Hash-like structure, using WeakRef, so that the key value  
pairs can be garbage collected as needed.  I only need to support [] 
() and []=(), not the whole range of Hash functions.  If the pair has  
been collected, I just need a simple nil returned.

I've tried implementing this a couple of different ways, but keep  
running into trouble.  Does anyone have any tips?

James Edward Gray II