The huge increase in performance it's when having a large list of threads. Imagine the case of having 50 threads, and suddenly a new incoming SMS arrives from a new phone number that it's not currently a thread. How do we know the object 'thread' which it's tied to this new SMS for rendering? In previous code we retrieved the whole list of SMS from Gecko through `getAllThreads` and we re-render again the whole list of threads (horrible performance :S, and rendering every time we receive a SMS!!). However, with this new approach, we are saving the Gecko request and we are updating the UI as fast as possible only with the mockup! So the increase in performance it's one of the key points of this PR.