If explicitly testing for IsCompleted then one must also test for IsFaulted and if not handling the exception, return the faulted Task.
If explicitly testing for IsCompleted then one must also test for IsFaulted and if not handling the exception, return the faulted Task.