I'm inclined to agree.  Additionally, set() kills the ordering.  I think it would be expected that the callbacks would execute in the order they were added.  Thoughts?

`
In [4]: tmp = [2,1,3]

In [5]: set(tmp)
Out[5]: {1, 2, 3}
`