Use a WeakReference to fix activity leaks.