Ваш основной класс графического интерфейса может иметь класс ViewModel в качестве dataContext.
В вашем классе ViewModel у вас будет ObservableCollection в качестве свойства и вы добавите экземпляры MessageClass в эту коллекцию.
В этом графическом интерфейсе у вас будет какой-то listView или что-то еще, что вы не хотите отображать ваши сообщения, связанные с этой коллекцией (или коллекцией ViewView).
Когда объект ObservableCollection добавляет новый объект, он должен позволитьGUI знает, чтобы обновлять себя автоматически.