Made the delegate a weak reference