Removing extraneous dispatch to background and using weak reference for delegate in response