Publishing messages is quite simple, and can be done in any of 3 ways:

1. Publish and forget, Just publish a message, whoever gets it, gets it.
await mediator.PublishMessage("token", "Message Parameter!");


2. Publish and Receive Callbacks if any subscriber returned a result.
await mediator.PublishMessage("token", "Message Parameter", (string param) => { Console.WriteLine("Message Received: {0}", param) });


3. Publish and directly receive results from subscriber output.
var results = await mediator.PublishMessageWithReturnResult<string, string>("token", "Message Parameter");

//Do something with the list of results!