as a general note, when reading the code, I find it quite difficult to understand when we deal with only new-message-drafts and when we deal with both draft types, and I think we can do better.