It would be much clearer to test this in the `onMessageReceived` method, this way we could have expressive method names for the 2 cases, updating a thread entry or appending a new one.  

Currently we go through `createThreadMockup` and all just to update an entry which is hard to follow.

Let's split the cases early and have expressive function names.