public static void Start(this IReceiver receiver, OnMessageReceivedDelegate onMessageReceived)
 {
     if (onMessageReceived == null)
     {
         throw new ArgumentNullException(nameof(onMessageReceived));
     }
     receiver.Start(new SyncDelegateMessageHandler(onMessageReceived));
 }
 public SyncDelegateMessageHandler(OnMessageReceivedDelegate onMessageReceived) =>