Using FutureInterface and adding the ability to cancel a future response