private void InitializeFetcherDependencies(string phoneNumber)
        {
            MessagingContext   fetcherMessagingContext  = new DesignTimeDbContextFactory().CreateDbContext(new string[] { });
            IMessageRepository fetcherMessageRepository = new EntityFrameworkMessageRepository(fetcherMessagingContext);
            IContactRepository fetcherContactRepository = new EntityFrameworkContactRepository(phoneNumber, fetcherMessagingContext);
            IKeySetRepository  fetcherKeySetRepository  = new EntityFrameworkKeySetRepository(phoneNumber, fetcherMessagingContext);
            IEncryptionService fetcherEncryptionService = new RSAEncryptionService(fetcherKeySetRepository, Encoding);

            FetcherMessageService = new MessageService(fetcherContactRepository, fetcherMessageRepository, fetcherEncryptionService, Encoding, phoneNumber);
        }
 private void InitializeRepositories(string phoneNumber)
 {
     MessagingContext      = new DesignTimeDbContextFactory().CreateDbContext(new string[] { });
     ContactRepository     = new EntityFrameworkContactRepository(phoneNumber, MessagingContext);
     MessageRepository     = new EntityFrameworkMessageRepository(MessagingContext);
     KeySetRepository      = new EntityFrameworkKeySetRepository(phoneNumber, this.MessagingContext);
     EncryptionService     = new RSAEncryptionService(this.KeySetRepository, this.Encoding);
     AuthenticationService = new AuthenticationService(this.KeySetRepository, phoneNumber);
     MessageService        = new MessageService(ContactRepository, MessageRepository, this.EncryptionService, Encoding, phoneNumber);
 }