It's a design decision--I'm open to either.  A little bit leaning towards the current behavior (needing to call clear_message with the ID if you want to have things cleared before displaying a new one)--otherwise, there's no ability to show multiple messages under the same ID (and then clear them all with one id).

I think the easiest change is just for you to call clear_message with your ID.  If you think people would not want to add multiple messages under the same ID, then the solution you're proposing would be the way to go.  It would be good, in that case, to remove explicit calls to clear_message, in the case where it's followed up immediately by a show_message.