Changed logic.

Now messages are either sent to the DOM or kept until the widget is
dispayed.