diff --git a/mailbox-integration-tests/build.gradle b/mailbox-integration-tests/build.gradle
index 4b942d15959a94a1ce544348cb82938df2d10134..3b833cc2bb6089d57991cfd722854179714ea9e4 100644
--- a/mailbox-integration-tests/build.gradle
+++ b/mailbox-integration-tests/build.gradle
@@ -7,14 +7,11 @@ apply from: '../dagger.gradle'
 
 dependencies {
 	testImplementation project(path: ':bramble-api', configuration: 'default')
+	testImplementation project(path: ':bramble-api', configuration: 'testOutput')
 	testImplementation project(path: ':bramble-core', configuration: 'default')
-	testImplementation project(path: ':briar-api', configuration: 'default')
-	testImplementation project(path: ':briar-core', configuration: 'default')
+	testImplementation project(path: ':bramble-core', configuration: 'testOutput')
 	testImplementation project(path: ':mailbox-core', configuration: 'default')
 	testImplementation project(path: ':mailbox-lib', configuration: 'default')
-	testImplementation project(path: ':bramble-api', configuration: 'testOutput')
-	testImplementation project(path: ':bramble-core', configuration: 'testOutput')
-	testImplementation project(path: ':briar-core', configuration: 'testOutput')
 
 	testImplementation "junit:junit:$junit_version"
 	testImplementation "ch.qos.logback:logback-classic:1.2.11"
diff --git a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/AbstractMailboxIntegrationTest.java b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/AbstractMailboxIntegrationTest.java
index 39a4ba1b4f558db4789ca770864a863d652b9a18..2eb0eef4fa5a0aaede9fe687c88da04436fe16b8 100644
--- a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/AbstractMailboxIntegrationTest.java
+++ b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/AbstractMailboxIntegrationTest.java
@@ -15,28 +15,29 @@ import org.briarproject.bramble.api.mailbox.MailboxPairingState;
 import org.briarproject.bramble.api.mailbox.MailboxPairingTask;
 import org.briarproject.bramble.api.mailbox.MailboxProperties;
 import org.briarproject.bramble.api.mailbox.MailboxUpdateWithMailbox;
-import org.briarproject.bramble.api.sync.GroupId;
+import org.briarproject.bramble.api.plugin.TransportId;
+import org.briarproject.bramble.api.properties.TransportProperties;
 import org.briarproject.bramble.test.BrambleIntegrationTest;
 import org.briarproject.bramble.test.TestDatabaseConfigModule;
 import org.briarproject.bramble.test.TestLogFormatter;
 import org.briarproject.bramble.test.TestThreadFactoryModule;
-import org.briarproject.briar.api.messaging.PrivateMessage;
 import org.briarproject.mailbox.lib.AbstractMailbox;
 import org.briarproject.mailbox.lib.TestMailbox;
 import org.junit.After;
 import org.junit.Before;
 
 import java.io.File;
+import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 
-import static java.util.Collections.emptyList;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static org.briarproject.bramble.api.mailbox.MailboxAuthToken.fromString;
 import static org.briarproject.bramble.mailbox.MailboxIntegrationTestComponent.Helper.injectEagerSingletons;
 import static org.briarproject.bramble.mailbox.MailboxIntegrationTestUtils.createMailboxApi;
 import static org.briarproject.bramble.mailbox.MailboxTestUtils.getQrCodePayload;
 import static org.briarproject.bramble.test.TestUtils.getSecretKey;
-import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
+import static org.briarproject.bramble.util.StringUtils.getRandomString;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
@@ -49,6 +50,7 @@ abstract class AbstractMailboxIntegrationTest
 		TestLogFormatter.use();
 	}
 
+	private final TransportId transportId = new TransportId(getRandomString(4));
 	private final File dir1 = new File(testDir, "alice");
 	private final File dir2 = new File(testDir, "bob");
 	private final SecretKey rootKey = getSecretKey();
@@ -185,13 +187,12 @@ abstract class AbstractMailboxIntegrationTest
 		return update.getMailboxProperties();
 	}
 
-	void sendMessage(MailboxIntegrationTestComponent from,
-			ContactId toContactId, String text) throws Exception {
-		GroupId g = from.getMessagingManager().getConversationId(toContactId);
-		PrivateMessage m = from.getPrivateMessageFactory().createPrivateMessage(
-				g, from.getClock().currentTimeMillis(), text, emptyList(),
-				NO_AUTO_DELETE_TIMER);
-		from.getMessagingManager().addLocalMessage(m);
+	void broadcastMessage(MailboxIntegrationTestComponent from)
+			throws Exception {
+		TransportProperties p = from.getTransportPropertyManager()
+				.getLocalProperties(transportId);
+		p.put(getRandomString(23), getRandomString(8));
+		from.getTransportPropertyManager().mergeLocalProperties(transportId, p);
 	}
 
 	void sync1To2(int num, boolean valid) throws Exception {
@@ -210,4 +211,11 @@ abstract class AbstractMailboxIntegrationTest
 		sendAcks(c2, c1, contact1From2.getId(), num);
 	}
 
+	void assertNumMessages(MailboxIntegrationTestComponent c,
+			ContactId contactId, int num) throws DbException {
+		Map<ContactId, TransportProperties> p = c.getTransportPropertyManager()
+				.getRemoteProperties(transportId);
+		assertEquals(num, p.get(contactId).size());
+	}
+
 }
diff --git a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java
index 02fa6bfc9934d542f7d3263d10b574209ba1c5ce..274b5e9e2fbe73e89ceb0b4012ffd09c00d5b86e 100644
--- a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java
+++ b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java
@@ -38,7 +38,7 @@ public class MailboxIntegrationTest extends AbstractMailboxIntegrationTest {
 		assertNotNull(props2.getInboxId());
 
 		// send message and wait for it to arrive via mailbox
-		sendMessage(c1, contact2From1.getId(), "test");
+		broadcastMessage(c1);
 
 		// wait until file arrived on mailbox
 		retryUntilSuccessOrTimeout(5_000, 500, () -> {
@@ -50,10 +50,8 @@ public class MailboxIntegrationTest extends AbstractMailboxIntegrationTest {
 		// this might require 2nd download cycle after Tor reachability period
 		awaitPendingMessageDelivery(1);
 
-		// assert that private message arrived for c2
-		int size = getFromDb(c2, txn -> c2.getMessagingManager()
-				.getMessageHeaders(txn, contact1From2.getId()).size());
-		assertEquals(1, size);
+		// assert that message arrived for c2
+		assertNumMessages(c2,  contact1From2.getId(), 1);
 
 		// all files were deleted from mailbox
 		assertEquals(0, api.getFiles(props2, props2.getInboxId()).size());
diff --git a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java
index 7ead8faccc221c7b53886e1324505a33de8f01a0..c6c7fd9318f30871bf029070970fbf7b69ec1bcf 100644
--- a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java
+++ b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java
@@ -2,18 +2,20 @@ package org.briarproject.bramble.mailbox;
 
 import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons;
 import org.briarproject.bramble.BrambleCoreModule;
+import org.briarproject.bramble.api.contact.ContactManager;
+import org.briarproject.bramble.api.db.DatabaseComponent;
+import org.briarproject.bramble.api.identity.AuthorFactory;
+import org.briarproject.bramble.api.lifecycle.LifecycleManager;
 import org.briarproject.bramble.api.mailbox.MailboxManager;
 import org.briarproject.bramble.api.mailbox.MailboxSettingsManager;
 import org.briarproject.bramble.api.mailbox.MailboxUpdateManager;
-import org.briarproject.bramble.api.plugin.PluginManager;
+import org.briarproject.bramble.api.properties.TransportPropertyManager;
+import org.briarproject.bramble.api.system.Clock;
 import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
+import org.briarproject.bramble.test.BrambleIntegrationTestComponent;
 import org.briarproject.bramble.test.MailboxTestPluginConfigModule;
 import org.briarproject.bramble.test.TestDnsModule;
 import org.briarproject.bramble.test.TestSocksModule;
-import org.briarproject.briar.BriarCoreModule;
-import org.briarproject.briar.identity.IdentityModule;
-import org.briarproject.briar.messaging.MessagingModule;
-import org.briarproject.briar.test.BriarIntegrationTestComponent;
 
 import javax.inject.Singleton;
 
@@ -23,14 +25,23 @@ import dagger.Component;
 @Component(modules = {
 		BrambleCoreIntegrationTestModule.class,
 		BrambleCoreModule.class,
-		BriarCoreModule.class,
 		TestModularMailboxModule.class,
 		MailboxTestPluginConfigModule.class,
 		TestSocksModule.class,
 		TestDnsModule.class,
 })
 interface MailboxIntegrationTestComponent extends
-		BriarIntegrationTestComponent {
+		BrambleIntegrationTestComponent {
+
+	LifecycleManager getLifecycleManager();
+
+	DatabaseComponent getDatabaseComponent();
+
+	ContactManager getContactManager();
+
+	AuthorFactory getAuthorFactory();
+
+	Clock getClock();
 
 	MailboxManager getMailboxManager();
 
@@ -38,15 +49,13 @@ interface MailboxIntegrationTestComponent extends
 
 	MailboxUpdateManager getMailboxUpdateManager();
 
-	PluginManager getPluginManager();
+	TransportPropertyManager getTransportPropertyManager();
 
 	class Helper {
 		static void injectEagerSingletons(
 				MailboxIntegrationTestComponent c) {
 			BrambleCoreIntegrationTestEagerSingletons.Helper
 					.injectEagerSingletons(c);
-			c.inject(new IdentityModule.EagerSingletons());
-			c.inject(new MessagingModule.EagerSingletons());
 		}
 	}
 }