Anna, is it really necessary to cancel the future on a background thread? I think it would be much easier to just call `future.cancel()` on the main thread.