void Start()
        {
            _authModule = new FirebaseAuthModule();
            FB.Init();
            _authModule.Init();
            _messagesService = new SharedMessagesService();
            var firebaseStorage = new FirebaseSharedMessagesStorage();

            firebaseStorage.Init(_authModule);
            _messageStorage = firebaseStorage;
            _textProcessor  = new TextSharedMessageProcessor();
            _messagesService.RegisterProcessor <TextSharedMessage>(_textProcessor);
            _messagesService.Init(_authModule, _messageStorage);
            _messageControls.Init(_messagesService, _authModule);

            _loginControls.Init(_authModule);

            _remoteObjectsProvider = new FirebaseRemoteDataProvider();
            _mutableObjectFactory  = new MutableObjectFactory(_remoteObjectsProvider);
            _batchUpdater          = new FirebaseBatchUpdater();
            _queries = new FirebasePvpQueries(_remoteObjectsProvider);
            _profileControls.Init(_mutableObjectFactory, _authModule, _batchUpdater);
            _functionControls.Init(_queries);
            _transactionControls.Init(_remoteObjectsProvider, _authModule);
        }
 public void Init(SharedMessagesService service, IAuthModule authModule)
 {
     _service    = service;
     _authModule = authModule;
 }