wondering if this could go in its own file instead of having it here. a `Composer` class, and ThreadUI.init could instanciate it.

that would make us more able to unit test this part, separate the responsabilities, keep the files short.