Why do you do Remove From Parent (self)? As far as I understand, self is a widget that contains all messages. It cannot be remove, because then all past messages will disappear. This is probably why you are not getting the results you want.
Here is an example of a “forum”:
I use Switcher to display either the all message list or the message editor which I create for new messages.