WeakMap with timer