allow "call" method to return TaskCompletionSource