`playhouse.signals.Signal.disconnect` disconnects more than key, sender pair.
Oh yes it should be instead:

```
if not (n,s)==key
``` Nice! Thanks for fixing. Do you have a rough estimate for the next release date? Let me think on it.
When connecting two receiver to the same sender and disconnecting one of them. Both are disconnected. This bug is also illustrated by the code itself:

https://github.com/coleifer/peewee/blob/f88fa44a29601ca2de9fe492fda11b1fb28fb412/playhouse/signals.py#L25-L38

The `_receivers` set stores pairs of receiver and model. When disconnecting a single pair is removed if present. However `_receiver_list` looses all entries for which `n != name and s != sender` is false. Quick transformation:

$$ \lnot( n \ne name \land s \ne sender ) \Leftrightarrow $$

$$ \lnot( n \ne name ) \lor \lnot( s \ne sender ) \Leftrightarrow $$

$$ n = name \lor  s = sender $$ 

Notice that all receivers are removed that have a matching name or receiver.