init and deinit for MessageViewModel is done for no reason
When opening a conversation, a MessageViewModel goes through a init and a deinit for ALL the messages in ALL the conversations. In other words, the loading time for a conversation is influenced by the number of messages in all other conversations combined.