Currently, messages can be dropped during the switchover from the old CommandHandler to the new one as it is rebuilt. Either keep around the old one to handle events during reloads or queue those message events.
This is actually bigger than expected. This also becomes an issue for blocking code [#26]. Look into https://docs.python.org/3/library/multiprocessing.html
Update: reloads no longer drop messages, as the commandhandler is switched over atomically with all capabilities. This does not fix restarts.