public void Init(string token, string uri)
        {
            if (string.IsNullOrEmpty(token) || string.IsNullOrEmpty(uri))
            {
                throw new ArgumentException("Provide token and host parameters.");
            }

            if (!uri.StartsWith("http"))
            {
                throw new ArgumentException("Please provide valid host url that starts with http or https");
            }

            var client = new IndicoV2.IndicoClient(token, new Uri(uri));

            _submissionsClient       = client.Submissions();
            _submissionResultAwaiter = client.GetSubmissionResultAwaiter();
            _reviewsClient           = client.Reviews();
            _jobAwaiter = client.JobAwaiter();
        }
 /// <summary>
 /// Gets <seealso cref="ISubmissionResultAwaiter"/>
 /// </summary>
 /// <param name="indicoClient">Instance of <seealso cref="IndicoClient"/></param>
 /// <returns></returns>
 public static ISubmissionResultAwaiter GetSubmissionResultAwaiter(this IndicoClient indicoClient) =>
 new SubmissionResultAwaiter(indicoClient.Submissions(), indicoClient.JobAwaiter(), indicoClient.Storage());