/// <summary>
 /// Forwards by the specific the topic and waits until another command
 /// with the same key and target definded by the intial source is received.
 /// </summary>
 /// <param name="srcId">The source identifier.</param>
 /// <param name="cmd">The command.</param>
 /// <param name="topic">The topic.</param>
 public static async Task <Command> ForwardByTopicAndWaitForResponse(string srcId, Command cmd, string topic, int timeout = 60)
 {
     cmd.SenderId = srcId;
     ForwardByTopic(cmd, topic);
     return(await AsyncCommandProcessor.ProcessCommand(cmd, timeout));
 }