Instead of adding more "stuff" to `Utils`, these should be defined as part of the `Thread` API in threads.js. A static `Thread.create(...)` would replace `ThreadListUI.createThreadMockup(...)` (doing the necessary normalization tasks for creating a pseudo-Thread from a Message or Draft object). `Threads.registerMessage` could be a `register` method of a `Message` object instance...

```js
...
onmessagereceived: function(event) {
  var message = new Message(event.result);

  // now register the message to the Thread object associated with this message's threadId
  message.register();
}
...
```

...but it would be even better if the registration of a newly arrived message was done implicitly:

```js
...
onmessagereceived: function(event) {
  var message = new Message(event.result);

  // that's it, nothing else is necessary.
}
...
```