Added generic weakreference