/// <summary>
        /// Converts informer to <see cref="Message"/>.
        /// </summary>
        /// <param name="informer"></param>
        /// <returns></returns>
        public static Message ToMessage(this BaseInformer informer)
        {
            var rv = new Message()
            {
                Type       = MessageType.Notification,
                ActionName = informer.GetActionName(),
                Data       = informer,
            };

            return(rv);
        }
 /// <summary>
 /// Broadcasts <paramref name="informer"/> as message in <paramref name="server"/>.
 /// </summary>
 /// <param name="informer"></param>
 /// <param name="server"></param>
 public static void Send(this BaseInformer informer, WsServer server)
 {
     server.Broadcast(informer.ToMessage());
 }
 /// <summary>
 /// Provides name for custom manipulator.
 /// </summary>
 /// <param name="informer"></param>
 /// <returns></returns>
 public static string GetActionName(this BaseInformer informer)
 {
     return($"Informer.{informer.Name}");
 }
 /// <summary>
 /// Sends <paramref name="informer"/> as message to <paramref name="socket"/>.
 /// </summary>
 /// <param name="informer"></param>
 /// <param name="socket"></param>
 public static void Send(this BaseInformer informer, IWsSocket socket)
 {
     socket.Send(informer.ToMessage());
 }