I think this may be better in onSendClick, because I had the same issue with clearing the composer of a draft when a message is sent, and onMessageSent doesn't trigger unless the message is sent successfully.  onSendClick, on the other hand, definitely happens when the send button is clicked, and the composer is definitely cleared there, so the original draft should be considered void at that point.