Ah, yes, good point about it not being backwards incompatible.  As I was getting our callbacks to work with your new code, I saw that nice payload callback infrastructure, but then realized we'd have to make some changes to take advantage of it.

There are a few other changes I might suggest (not here) that take out some of the notebookisms in the code (places where we currently monkeypatch things...)