IObservable <Gist> OnCreateGist(object unused)
        {
            var newGist = new NewGist
            {
                Description = Description,
                Public      = !IsPrivate
            };

            newGist.Files.Add(FileName, SelectedText);

            return(gistPublishService.PublishGist(apiClient, newGist)
                   .Do(_ => usageTracker.IncrementCreateGistCount().Forget())
                   .Catch <Gist, Exception>(ex =>
            {
                if (!ex.IsCriticalException())
                {
                    log.Error(ex);
                    var error = StandardUserErrors.GetUserFriendlyErrorMessage(ex, ErrorType.GistCreateFailed);
                    notificationService.ShowError(error);
                }
                return Observable.Return <Gist>(null);
            }));
        }
 public Task IncrementCreateGistCount() => inner.IncrementCreateGistCount();