Our current messenger system is quite a mess. It tries to combine two entirely different protocols, email and jabber, into one API.
The big problem with this is, using this system is not entirely intuitive (the API is awful) and it's extremely difficult to extend this system to add other protocols (e.g. sms).
Emails have to, cc, bcc, reply to, from, and more addresses.
Jabber has a to/from address.
These addresses and designs are entirely incompatible, the only way to make one system work with both is to supply every option, then only send things a certain way based on how the user would like it sent. Adding additional backends, such as SMS, would further complicate things.