diff --git a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BackupService.kt b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BackupService.kt
index 4583b0c70a46fcaebd59bf8ca7da5e4904791a2c..7e2710f1b139699a72756b555c5081c069e8025d 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BackupService.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BackupService.kt
@@ -1,11 +1,15 @@
 package io.xxlabs.messenger.backup.bindings
 
 import bindings.UserDiscovery
+import io.xxlabs.messenger.backup.cloud.crust.CrustDataSource
 import io.xxlabs.messenger.backup.data.restore.RestoreLogger
 import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
 
 interface BackupService {
-    fun initializeCrustIntegration(userDiscovery: UserDiscovery, receptionRsaPrivKey: ByteArray)
+    /**
+     * Exposes upload and restore functions to/from Crust storage.
+     */
+    val crustApi: CrustDataSource
 
     val backupFilePath: String
     /**
@@ -13,6 +17,8 @@ interface BackupService {
      */
     val restoreLogger: RestoreLogger
 
+    fun initializeCrustIntegration(userDiscovery: UserDiscovery, receptionRsaPrivKey: ByteArray)
+
     /**
      * Set a [BackupTaskCallback] to be notified whenever a new backup file is created.
      */
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupMediator.kt b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupMediator.kt
index c1cd03d4613430fb164d708f6861d83ee96aabe1..61b1c1b796720020d430a56ae095c496984629d5 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupMediator.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupMediator.kt
@@ -1,6 +1,7 @@
 package io.xxlabs.messenger.backup.bindings
 
 import bindings.UserDiscovery
+import io.xxlabs.messenger.backup.cloud.crust.BindingsCrustMediator
 import io.xxlabs.messenger.backup.data.restore.RestoreLogger
 import io.xxlabs.messenger.bindings.listeners.MessageReceivedListener
 import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
@@ -29,11 +30,16 @@ class BindingsBackupMediator @Inject constructor(
     private val restoreHandler =
         BindingsRestoreHandler(preferences, daoRepo, messageReceivedListener, backupHandler)
 
+    override val crustApi = BindingsCrustMediator()
+
     override fun initializeCrustIntegration(
         userDiscovery: UserDiscovery,
         receptionRsaPrivKey: ByteArray
     ) {
-
+        crustApi.apply {
+            udManager = userDiscovery
+            receptionRsaPrivateKey = receptionRsaPrivKey
+        }
     }
 
     override val backupFilePath: String
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/CrustDataSource.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/CrustDataSource.kt
index 6ac3f6dd6581dc23889cf9f157c3845cb69dd30e..dab2ef4ad1d529bcc3829a6f9fc7e36f1006dc48 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/CrustDataSource.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/CrustDataSource.kt
@@ -13,7 +13,6 @@ class BindingsCrustMediator(
     var receptionRsaPrivateKey: ByteArray = byteArrayOf()
 ) : CrustDataSource {
 
-
     override suspend fun uploadBackup(path: String): Result<ByteArray> {
         return try {
             udManager?.let {
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt b/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt
index c9835be0217d3f724f93877026a9bb6eb2e0e6c9..67741c02e5d169f64dc7eb0330f49fb5fa066b69 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt
@@ -14,12 +14,10 @@ abstract class BackupLocationRepository(
     backupService: BackupService,
 ) : AccountBackupDataSource {
 
-    protected val crustApi = BindingsCrustMediator()
-
     protected val googleDrive = GoogleDrive.getInstance(backupService, preferences)
     protected val dropbox = Dropbox.getInstance(backupService, preferences)
     protected val sftp = Sftp.getInstance(backupService, preferences)
-    protected val crust = Crust.getInstance(backupService, preferences, crustApi)
+    protected val crust = Crust.getInstance(backupService, preferences, backupService.crustApi)
 
     override val locations: List<AccountBackup> = listOf(
         googleDrive,
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupMediator.kt b/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupMediator.kt
index fa357a46c5c7b74d3c4e4dd29dfb04881ad5156c..fa696e60a01b93aca16212827d56da75c849689b 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupMediator.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupMediator.kt
@@ -1,6 +1,5 @@
 package io.xxlabs.messenger.backup.data.backup
 
-import bindings.UserDiscovery
 import io.xxlabs.messenger.backup.bindings.BackupService
 import io.xxlabs.messenger.backup.data.BackupLocationRepository
 import io.xxlabs.messenger.backup.model.AccountBackup
@@ -16,16 +15,6 @@ class BackupMediator @Inject constructor(
     BackupService by backupService,
     BackupTaskPublisher by backupTaskPublisher
 {
-    override fun initializeCrustIntegration(
-        userDiscovery: UserDiscovery,
-        receptionRsaPrivKey: ByteArray
-    ) {
-        crustApi.apply {
-            udManager = userDiscovery
-            receptionRsaPrivateKey = receptionRsaPrivKey
-        }
-    }
-
     private val settingsHandler: BackupPreferencesDelegate by lazy {
         BackupPreferencesDelegate(preferences, this)
     }
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesRepository.kt b/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesRepository.kt
index e43254683e109fa0b1281b20c96b970cf6ee0440..f14154e40b253b4b990669102c6531f4584cc651 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesRepository.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesRepository.kt
@@ -1,6 +1,7 @@
 package io.xxlabs.messenger.backup.data.backup
 
 interface BackupPreferencesRepository {
+    var name: String
     var isBackupEnabled: Boolean
     var isGoogleDriveEnabled: Boolean
     var isDropboxEnabled: Boolean
diff --git a/app/src/main/java/io/xxlabs/messenger/repository/base/BasePreferences.kt b/app/src/main/java/io/xxlabs/messenger/repository/base/BasePreferences.kt
index dc693ac01d6c4ff02b0ee2dbf72df244c9bca145..e9531f25c8760c25bd9a7421391ad00fc8fd6f2d 100644
--- a/app/src/main/java/io/xxlabs/messenger/repository/base/BasePreferences.kt
+++ b/app/src/main/java/io/xxlabs/messenger/repository/base/BasePreferences.kt
@@ -27,7 +27,6 @@ abstract class BasePreferences : BackupPreferencesRepository, NotificationPrefer
     abstract var currentNotificationsTokenId: String
     abstract var notificationsTokenId: String
     abstract var userId: String
-    abstract var name: String
 
     //Settings
     abstract var areNotificationsOn: Boolean