how about moving all of this in `Threads`?

`Threads.registerMessage` (not sure about the name "registerMessage", maybe @rwaldron would suggest a better name)