I'm not sure a dict is necessary here because the only key-based access is in `unregister_receiver` (well, and `register_...`) but that can be done with list.remove just as easily.