Greg, I've investigated the weak reference, but not sure here should I just use WeakReference or WeakHashMap?