When you run python3 -m crystalfontz.dbus.client listen and try to ^C it, there's a long delay, and you often have to send the signal twice.
I believe this is because of the use of async iterators, which don't yield out of the event loop when there are no signals. I suspect that with some really clevering refactoring, this could be improved.