public BaseClientResponse Get()
        {
            using (var httpClient = new HttpClient())
            {
                BaseClientResponse result = new BaseClientResponse();
                Task responseTask = null;

                httpClient.GetAsync(_endpoint).ContinueWith((requestTask) =>
                {
                    responseTask = requestTask;
                    HttpResponseMessage response = requestTask.Result;

                    response.EnsureSuccessStatusCode();

                    response.Content.ReadAsStringAsync().ContinueWith((readTask) =>
                    {
                        result.Content = readTask.Result;
                    });
                });

                // HACK: My version of the await keyword
                while (responseTask == null || !responseTask.IsCompleted || result == null) { }

                return result;
            }
        }
        public BaseClientResponse Get()
        {
            using (var httpClient = new HttpClient())
            {
                BaseClientResponse result = new BaseClientResponse();
                Task responseTask         = null;

                httpClient.GetAsync(_endpoint).ContinueWith((requestTask) =>
                {
                    responseTask = requestTask;
                    HttpResponseMessage response = requestTask.Result;

                    response.EnsureSuccessStatusCode();

                    response.Content.ReadAsStringAsync().ContinueWith((readTask) =>
                    {
                        result.Content = readTask.Result;
                    });
                });

                // HACK: My version of the await keyword
                while (responseTask == null || !responseTask.IsCompleted || result == null)
                {
                }

                return(result);
            }
        }