initialize method
Initializes DOO client repository
Implementation
Future<void> initialize(DOOUser? user) async {
  try {
    if (user != null) {
      await localStorage.userDao.saveUser(user);
    }
    //refresh contact
    final contact = await clientService.getContact();
    localStorage.contactDao.saveContact(contact);
    //refresh conversation
    final conversations = await clientService.getConversations();
    final persistedConversation =
        localStorage.conversationDao.getConversation()!;
    final refreshedConversation = conversations.firstWhere(
        (element) => element.id == persistedConversation.id,
        orElse: () =>
            persistedConversation //highly unlikely orElse will be called but still added it just in case
        );
    localStorage.conversationDao.saveConversation(refreshedConversation);
  } on DOOClientException catch (e) {
    callbacks.onError?.call(e);
  }
  listenForEvents();
}