public static async Task <TestOrchestratorClient> StartOrchestratorAsync(
            this JobHost host,
            string functionName,
            object input,
            ITestOutputHelper output,
            string instanceId = null,
            bool useTaskHubFromAppSettings = false)
        {
            var startFunction = useTaskHubFromAppSettings ?
                                typeof(ClientFunctions).GetMethod(nameof(ClientFunctions.StartFunctionWithTaskHub)) :
                                typeof(ClientFunctions).GetMethod(nameof(ClientFunctions.StartFunction));
            var clientRef = new TestOrchestratorClient[1];
            var args      = new Dictionary <string, object>
            {
                { "functionName", functionName },
                { "instanceId", instanceId },
                { "input", input },
                { "clientRef", clientRef },
            };

            await host.CallAsync(startFunction, args);

            TestOrchestratorClient client = clientRef[0];

            output.WriteLine($"Started {functionName}, Instance ID = {client.InstanceId}");
            return(client);
        }
            public static async Task StartFunction(
                [OrchestrationClient] DurableOrchestrationClient client,
                string functionName,
                object input,
                TestOrchestratorClient[] clientRef)
            {
                DateTime instanceCreationTime = DateTime.UtcNow;

                string instanceId = await client.StartNewAsync(functionName, input);

                clientRef[0] = new TestOrchestratorClient(
                    client,
                    functionName,
                    instanceId,
                    instanceCreationTime);
            }