I can see why you mentioned the DRY for these two lines, which are repeated above.
I haven't quite wrapped my head around what MessageManager.draft holds onto, so I can't tell where to put the function that clears it and calls these two lines.  Maybe in MessageManager?