private void ShowMessageForPublishStatus(PublishStatus status, ContentItemDisplay display)
 {
     switch (status.StatusType)
     {
         case PublishStatusType.Success:
         case PublishStatusType.SuccessAlreadyPublished:
             display.AddSuccessNotification(
                 ui.Text("speechBubbles", "editContentPublishedHeader", UmbracoUser),
                 ui.Text("speechBubbles", "editContentPublishedText", UmbracoUser));
             break;
         case PublishStatusType.FailedPathNotPublished:
             display.AddWarningNotification(
                 ui.Text("publish"),
                 ui.Text("publish", "contentPublishedFailedByParent",
                         string.Format("{0} ({1})", status.ContentItem.Name, status.ContentItem.Id),
                         UmbracoUser).Trim());
             break;
         case PublishStatusType.FailedCancelledByEvent:
             display.AddWarningNotification(
                 ui.Text("publish"),
                 ui.Text("speechBubbles", "contentPublishedFailedByEvent"));
             break;                
         case PublishStatusType.FailedAwaitingRelease:
             display.AddWarningNotification(
                 ui.Text("publish"),
                 ui.Text("publish", "contentPublishedFailedAwaitingRelease",
                         new[]
                             {
                                 string.Format("{0} ({1})", status.ContentItem.Name, status.ContentItem.Id)
                             },
                         UmbracoUser).Trim());
             break;
         case PublishStatusType.FailedHasExpired:
             //TODO: We should add proper error messaging for this!
         case PublishStatusType.FailedIsTrashed:
             //TODO: We should add proper error messaging for this!
         case PublishStatusType.FailedContentInvalid:
             display.AddWarningNotification(
                 ui.Text("publish"),
                 ui.Text("publish", "contentPublishedFailedInvalid",
                         new[]
                             {
                                 string.Format("{0} ({1})", status.ContentItem.Name, status.ContentItem.Id),
                                 string.Join(",", status.InvalidProperties.Select(x => x.Alias))
                             },
                         UmbracoUser).Trim());
             break;
         default:
             throw new IndexOutOfRangeException();
     }
 }