Fix message callback index.

The wrong index was being stored for the callbacks since push() returns the new length. Callbacks were still getting called since it loops over all the callbacks, but they weren't be freed correctly and once() callbacks could possibly be called multiple times.