public static Task AddErrorMessageAsync(this IMessageSink messageSink, INowUtcProvider nowUtcProvider, string errorMessage)
 {
     return(messageSink.AddMessageAsync(nowUtcProvider, MessageType.Error, errorMessage));
 }
 public static Task AddOutputMessageAsync(this IMessageSink messageSink, INowUtcProvider nowUtcProvider, string outputMessage)
 {
     return(messageSink.AddMessageAsync(nowUtcProvider, MessageType.Output, outputMessage));
 }
        public static async Task AddMessageAsync(this IMessageSink messageSink, INowUtcProvider nowUtcProvider, MessageType messageType, string message)
        {
            var timestampUtc = await nowUtcProvider.GetNowUtcAsync();

            await messageSink.AddMessageAsync(timestampUtc, messageType, message);
        }