public async Task<TextModel> SaveTextAsync(TextModel text)
        {
            if (text == null) throw new ArgumentNullException(nameof(text));

            var request = new RestRequest("text", Method.POST);
            request.AddHeader("Accept", "application/json");
            request.AddHeader("Content-Type", "application/json");
            request.AddJsonBody(text);

            var response = await _client.ExecutePostTaskAsync<TextModel>(request);

            //TODO: check return code

            return response.Data;
        }
        public async Task<long> SubmitTextAsync(TextModel text)
        {
            if (text == null) throw new ArgumentNullException(nameof(text));
            
            //TODO validate the model

            var lemmas = await _dictionaryApiClient.ExtractLemmasAsync(text.Body);

            var textModel = new RemoteServices.TextService.TextModel
            {
                Body = text.Body,
                Name = text.Name,
                Words = lemmas.ToList()
            };

            var savedText = await _textServiceClient.SaveTextAsync(textModel);

            return savedText.Id;
        }