public static void Subscribe(string channel, RemoteMethodProvider methodProvider)
        {
            if (!_subscribersInfo.ContainsKey(channel))
            {
                _subscribersInfo.TryAdd(channel, new List <RemoteMethodProvider>());
            }

            if (!_subscribersInfo[channel].Contains(methodProvider))
            {
                _subscribersInfo[channel].Add(methodProvider);
            }
        }
        public static void Unsubscribe(string channel, RemoteMethodProvider methodProvider)
        {
            methodProvider.Client.ReadyForRMI = false;

            if (_subscribersInfo.ContainsKey(channel) && _subscribersInfo[channel].Contains(methodProvider))
            {
                _subscribersInfo[channel].Remove(methodProvider);
            }

#if DEBUG
            _log.Debug($"Client {methodProvider.Client.Socket.RemoteEndPoint.ToString()} unsubscribed from RemoteEvent: {channel} channel.");
#endif
        }