Motivation:
We start Gofer task client from .net core hosted service.
We use the BackgroundService.ExecuteAsync() method that expects that underlying code will exit on cancellation. We've imitate cancellation support with
cancellation.Register(()=>taskClient.CancelListen())
but I think it will be good to have such feature out of the box.