Chats Store
This store is responsible for holding all the data and logic surrounding chats and messages, but it also helps the chats store initializing when a user is logged in:
/*** src/stores/chats.js ***/
import { observable, computed, map, toJS, action } from 'mobx';
import { AsyncStorage } from 'react-native'
import { firebaseApp } from '../firebase'
import notifications from '../notifications'
class Chats {
  @observable list;
  @observable selectedChatMessages;
  @observable downloadingChats = false;
  @observable downloadingChat = false;
  @action addMessages = function(chatId, contactId, messages) {
    //add a list of messages to a chat
  }
  @action selectChat = function(id) {
    //set a chat as selected and retrieve all the messages for it
  }
  @action add(user1, user2) {
    //add a new chat to the list of chats for the users in it
  }
  bindToFirebase(userId) {
    //listen for the list of chats in Firebase to update the 
    @observable list
  }
}
const chats = new...