public Func <string, string, dynamic> this[string topic] { get { if (!handlers.ContainsKey(topic)) { return(null); } return(handlers[topic]); } set { if (value == null) { handlers.Remove(topic); Mosquitto.Unubscribe(topic); } else if (!handlers.ContainsKey(topic)) { Mosquitto.Subscribe(topic); handlers[topic] = value; } } }