diff --git a/groupChat/makeGroup_test.go b/groupChat/makeGroup_test.go
index 056355d31a0dbe49fa0189f3314d39edd76827c9..274505b1d47e19c5f589006f3db646c4d05da5c5 100644
--- a/groupChat/makeGroup_test.go
+++ b/groupChat/makeGroup_test.go
@@ -11,8 +11,8 @@ import (
 	"bytes"
 	"fmt"
 	"github.com/cloudflare/circl/dh/sidh"
+	"gitlab.com/elixxir/client/e2e/ratchet/partner/session"
 	gs "gitlab.com/elixxir/client/groupChat/groupStore"
-	"gitlab.com/elixxir/client/interfaces/params"
 	util "gitlab.com/elixxir/client/storage/utility"
 	"gitlab.com/elixxir/crypto/fastRNG"
 	"gitlab.com/elixxir/crypto/group"
@@ -290,7 +290,7 @@ func addPartners(m *Manager, t *testing.T) ([]*id.ID, group.Membership,
 	for i := range memberIDs {
 		// Build member data
 		uid := id.NewIdFromUInt(uint64(i), id.User, t)
-		dhKey := m.store.E2e().GetGroup().NewInt(int64(i + 42))
+		dhKey := m.grp.NewInt(int64(i + 42))
 
 		myVariant := sidh.KeyVariantSidhA
 		prng := rand.New(rand.NewSource(int64(i + 42)))
@@ -309,13 +309,13 @@ func addPartners(m *Manager, t *testing.T) ([]*id.ID, group.Membership,
 		memberIDs[i] = uid
 		members = append(members, group.Member{ID: uid, DhKey: dhKey})
 		dkl.Add(dhKey, group.Member{ID: uid, DhKey: dhKey},
-			m.store.E2e().GetGroup())
+			m.grp)
 
 		// Add partner
-		err := m.store.E2e().AddPartner(uid, dhKey, dhKey,
+		_, err := m.e2e.AddPartner(m.receptionId, uid, dhKey, dhKey,
 			theirSIDHPubKey, mySIDHPrivKey,
-			params.GetDefaultE2ESessionParams(),
-			params.GetDefaultE2ESessionParams())
+			session.GetDefaultParams(),
+			session.GetDefaultParams())
 		if err != nil {
 			t.Errorf("Failed to add partner %d: %+v", i, err)
 		}
diff --git a/groupChat/manager_test.go b/groupChat/manager_test.go
index b3367230a80faaf3b2f752e627414914d8c8fbfe..48ee13ea8b0f5ef46df8c742c2665b560c38d400 100644
--- a/groupChat/manager_test.go
+++ b/groupChat/manager_test.go
@@ -31,8 +31,7 @@ func Test_newManager(t *testing.T) {
 	requestFunc := func(g gs.Group) { requestChan <- g }
 	receiveChan := make(chan MessageReceive)
 	receiveFunc := func(msg MessageReceive) { receiveChan <- msg }
-	m, err := newManager(nil, user.ID, user.DhKey, nil, nil, nil, nil, kv,
-		requestFunc, receiveFunc)
+	m, err := NewManager(nil, nil, user.ID, nil, nil, kv, requestFunc, receiveFunc)
 	if err != nil {
 		t.Errorf("newManager() returned an error: %+v", err)
 	}
@@ -85,8 +84,7 @@ func Test_newManager_LoadStorage(t *testing.T) {
 		}
 	}
 
-	m, err := newManager(
-		nil, user.ID, user.DhKey, nil, nil, nil, nil, kv, nil, nil)
+	m, err := NewManager(nil, nil, user.ID, nil, nil, kv, nil, nil)
 	if err != nil {
 		t.Errorf("newManager() returned an error: %+v", err)
 	}
@@ -120,7 +118,7 @@ func Test_newManager_LoadError(t *testing.T) {
 
 	expectedErr := strings.SplitN(newGroupStoreErr, "%", 2)[0]
 
-	_, err = newManager(nil, user.ID, user.DhKey, nil, nil, nil, nil, kv, nil, nil)
+	_, err = NewManager(nil, nil, user.ID, nil, nil, kv, nil, nil)
 	if err == nil || !strings.Contains(err.Error(), expectedErr) {
 		t.Errorf("newManager() did not return the expected error."+
 			"\nexpected: %s\nreceived: %+v", expectedErr, err)
@@ -276,8 +274,7 @@ func Test_newManager_LoadError(t *testing.T) {
 func TestManager_JoinGroup(t *testing.T) {
 	prng := rand.New(rand.NewSource(42))
 	m, _ := newTestManagerWithStore(prng, 10, 0, nil, nil, t)
-	g := newTestGroup(
-		m.store.E2e().GetGroup(), m.store.GetUser().E2eDhPrivateKey, prng, t)
+	g := newTestGroup(m.grp, m.e2e.GetDefaultHistoricalDHPubkey(), prng, t)
 
 	err := m.JoinGroup(g)
 	if err != nil {
diff --git a/groupChat/receiveRequest_test.go b/groupChat/receiveRequest_test.go
index 0e51cfdc8f78889241dee5696a198e1643f058af..8fdaa1f02f7e292efb259be2017a54970397806f 100644
--- a/groupChat/receiveRequest_test.go
+++ b/groupChat/receiveRequest_test.go
@@ -10,9 +10,8 @@ package groupChat
 import (
 	"github.com/cloudflare/circl/dh/sidh"
 	"github.com/golang/protobuf/proto"
+	"gitlab.com/elixxir/client/e2e/ratchet/partner/session"
 	gs "gitlab.com/elixxir/client/groupChat/groupStore"
-	"gitlab.com/elixxir/client/interfaces/message"
-	"gitlab.com/elixxir/client/interfaces/params"
 	"gitlab.com/elixxir/client/stoppable"
 	util "gitlab.com/elixxir/client/storage/utility"
 	"math/rand"
@@ -28,9 +27,9 @@ func TestManager_receiveRequest(t *testing.T) {
 	requestChan := make(chan gs.Group)
 	requestFunc := func(g gs.Group) { requestChan <- g }
 	m, _ := newTestManagerWithStore(prng, 10, 0, requestFunc, nil, t)
-	g := newTestGroupWithUser(m.store.E2e().GetGroup(),
-		m.store.GetUser().ReceptionID, m.store.GetUser().E2eDhPublicKey,
-		m.store.GetUser().E2eDhPrivateKey, prng, t)
+	g := newTestGroupWithUser(m.grp,
+		m.receptionId, m.e2e.GetDefaultHistoricalDHPubkey(),
+		m.e2e.GetDefaultHistoricalDHPrivkey(), prng, t)
 
 	requestMarshaled, err := proto.Marshal(&Request{
 		Name:        g.Name,
@@ -62,13 +61,13 @@ func TestManager_receiveRequest(t *testing.T) {
 	theirSIDHPrivKey.Generate(prng)
 	theirSIDHPrivKey.GeneratePublicKey(theirSIDHPubKey)
 
-	_ = m.store.E2e().AddPartner(
+	_, _ = m.e2e.AddPartner(m.receptionId,
 		g.Members[0].ID,
 		g.Members[0].DhKey,
-		m.store.E2e().GetGroup().NewInt(2),
+		m.grp.NewInt(2),
 		theirSIDHPubKey, mySIDHPrivKey,
-		params.GetDefaultE2ESessionParams(),
-		params.GetDefaultE2ESessionParams(),
+		session.GetDefaultParams(),
+		session.GetDefaultParams(),
 	)
 
 	rawMessages := make(chan message.Receive)
@@ -191,13 +190,13 @@ func TestManager_readRequest(t *testing.T) {
 	theirSIDHPrivKey.Generate(prng)
 	theirSIDHPrivKey.GeneratePublicKey(theirSIDHPubKey)
 
-	_ = m.store.E2e().AddPartner(
+	_, _ = m.e2e.AddPartner(m.receptionId,
 		g.Members[0].ID,
 		g.Members[0].DhKey,
-		m.store.E2e().GetGroup().NewInt(2),
+		m.grp.NewInt(2),
 		theirSIDHPubKey, mySIDHPrivKey,
-		params.GetDefaultE2ESessionParams(),
-		params.GetDefaultE2ESessionParams(),
+		session.GetDefaultParams(),
+		session.GetDefaultParams(),
 	)
 
 	requestMarshaled, err := proto.Marshal(&Request{
diff --git a/groupChat/receive_test.go b/groupChat/receive_test.go
index 1592f19f2185852de918a76ba17f5dd767f62018..f353b83a6c35ccc7865115249cfa86c2e086237d 100644
--- a/groupChat/receive_test.go
+++ b/groupChat/receive_test.go
@@ -9,7 +9,6 @@ package groupChat
 
 import (
 	"bytes"
-	"gitlab.com/elixxir/client/interfaces/message"
 	"gitlab.com/elixxir/client/stoppable"
 	"gitlab.com/elixxir/crypto/e2e"
 	"gitlab.com/elixxir/crypto/group"
diff --git a/groupChat/sendRequests_test.go b/groupChat/sendRequests_test.go
index c5ec225a4d4638e518fca793da97bdfabfea5162..14e5cb62404d4eea137068254b14984df0066a63 100644
--- a/groupChat/sendRequests_test.go
+++ b/groupChat/sendRequests_test.go
@@ -11,8 +11,7 @@ import (
 	"fmt"
 	"github.com/cloudflare/circl/dh/sidh"
 	"github.com/golang/protobuf/proto"
-	"gitlab.com/elixxir/client/interfaces/message"
-	"gitlab.com/elixxir/client/interfaces/params"
+	"gitlab.com/elixxir/client/e2e/ratchet/partner/session"
 	util "gitlab.com/elixxir/client/storage/utility"
 	"gitlab.com/elixxir/crypto/diffieHellman"
 	"gitlab.com/xx_network/crypto/csprng"
@@ -39,16 +38,16 @@ func TestManager_ResendRequest(t *testing.T) {
 	}
 
 	for i := range g.Members {
-		grp := m.store.E2e().GetGroup()
+		grp := m.grp
 		dhKey := grp.NewInt(int64(i + 42))
 		pubKey := diffieHellman.GeneratePublicKey(dhKey, grp)
-		p := params.GetDefaultE2ESessionParams()
+		p := session.GetDefaultParams()
 		rng := csprng.NewSystemRNG()
 		_, mySidhPriv := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhA, rng)
 		theirSidhPub, _ := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhB, rng)
-		err := m.store.E2e().AddPartner(g.Members[i].ID, pubKey, dhKey,
+		_, err := m.e2e.AddPartner(m.receptionId, g.Members[i].ID, pubKey, dhKey,
 			mySidhPriv, theirSidhPub, p, p)
 		if err != nil {
 			t.Errorf("Failed to add partner #%d %s: %+v", i, g.Members[i].ID, err)
@@ -135,16 +134,16 @@ func TestManager_sendRequests(t *testing.T) {
 	}
 
 	for i := range g.Members {
-		grp := m.store.E2e().GetGroup()
+		grp := m.grp
 		dhKey := grp.NewInt(int64(i + 42))
 		pubKey := diffieHellman.GeneratePublicKey(dhKey, grp)
-		p := params.GetDefaultE2ESessionParams()
+		p := session.GetDefaultParams()
 		rng := csprng.NewSystemRNG()
 		_, mySidhPriv := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhA, rng)
 		theirSidhPub, _ := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhB, rng)
-		err := m.store.E2e().AddPartner(g.Members[i].ID, pubKey, dhKey,
+		_, err := m.e2e.AddPartner(m.receptionId, g.Members[i].ID, pubKey, dhKey,
 			mySidhPriv, theirSidhPub, p, p)
 		if err != nil {
 			t.Errorf("Failed to add partner #%d %s: %+v", i, g.Members[i].ID, err)
@@ -235,16 +234,16 @@ func TestManager_sendRequests_SendPartialSent(t *testing.T) {
 		len(g.Members)-1, "")
 
 	for i := range g.Members {
-		grp := m.store.E2e().GetGroup()
+		grp := m.grp
 		dhKey := grp.NewInt(int64(i + 42))
 		pubKey := diffieHellman.GeneratePublicKey(dhKey, grp)
-		p := params.GetDefaultE2ESessionParams()
+		p := session.GetDefaultParams()
 		rng := csprng.NewSystemRNG()
 		_, mySidhPriv := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhA, rng)
 		theirSidhPub, _ := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhB, rng)
-		err := m.store.E2e().AddPartner(g.Members[i].ID, pubKey, dhKey,
+		_, err := m.e2e.AddPartner(m.receptionId, g.Members[i].ID, pubKey, dhKey,
 			mySidhPriv, theirSidhPub, p, p)
 		if err != nil {
 			t.Errorf("Failed to add partner #%d %s: %+v", i, g.Members[i].ID, err)
@@ -274,28 +273,23 @@ func TestManager_sendRequest(t *testing.T) {
 	m, g := newTestManagerWithStore(prng, 10, 0, nil, nil, t)
 
 	for i := range g.Members {
-		grp := m.store.E2e().GetGroup()
+		grp := m.grp
 		dhKey := grp.NewInt(int64(i + 42))
 		pubKey := diffieHellman.GeneratePublicKey(dhKey, grp)
-		p := params.GetDefaultE2ESessionParams()
+		p := session.GetDefaultParams()
 		rng := csprng.NewSystemRNG()
 		_, mySidhPriv := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhA, rng)
 		theirSidhPub, _ := util.GenerateSIDHKeyPair(
 			sidh.KeyVariantSidhB, rng)
-		err := m.store.E2e().AddPartner(g.Members[i].ID, pubKey, dhKey,
+		_, err := m.e2e.AddPartner(m.receptionId, g.Members[i].ID, pubKey, dhKey,
 			mySidhPriv, theirSidhPub, p, p)
 		if err != nil {
 			t.Errorf("Failed to add partner #%d %s: %+v", i, g.Members[i].ID, err)
 		}
 	}
 
-	expected := message.Send{
-		Recipient:   g.Members[0].ID,
-		Payload:     []byte("request message"),
-		MessageType: message.GroupCreationRequest,
-	}
-	_, err := m.sendRequest(expected.Recipient, expected.Payload)
+	_, err := m.sendRequest(g.Members[0].ID, []byte("request message"))
 	if err != nil {
 		t.Errorf("sendRequest() returned an error: %+v", err)
 	}
@@ -316,16 +310,16 @@ func TestManager_sendRequest_SendE2eError(t *testing.T) {
 
 	recipientID := id.NewIdFromString("memberID", id.User, t)
 
-	grp := m.store.E2e().GetGroup()
+	grp := m.grp
 	dhKey := grp.NewInt(int64(42))
 	pubKey := diffieHellman.GeneratePublicKey(dhKey, grp)
-	p := params.GetDefaultE2ESessionParams()
+	p := session.GetDefaultParams()
 	rng := csprng.NewSystemRNG()
 	_, mySidhPriv := util.GenerateSIDHKeyPair(
 		sidh.KeyVariantSidhA, rng)
 	theirSidhPub, _ := util.GenerateSIDHKeyPair(
 		sidh.KeyVariantSidhB, rng)
-	err := m.store.E2e().AddPartner(recipientID, pubKey, dhKey,
+	_, err := m.e2e.AddPartner(m.receptionId, recipientID, pubKey, dhKey,
 		mySidhPriv, theirSidhPub, p, p)
 	if err != nil {
 		t.Errorf("Failed to add partner %s: %+v", recipientID, err)
diff --git a/groupChat/send_test.go b/groupChat/send_test.go
index 38042203e9ee2f42a922307e16e1891eaf38821c..662c76ecee77b1a348815678ab6cb48356f03973 100644
--- a/groupChat/send_test.go
+++ b/groupChat/send_test.go
@@ -11,7 +11,6 @@ import (
 	"bytes"
 	"encoding/base64"
 	gs "gitlab.com/elixxir/client/groupChat/groupStore"
-	"gitlab.com/elixxir/client/interfaces/message"
 	"gitlab.com/elixxir/client/storage"
 	"gitlab.com/elixxir/crypto/group"
 	"gitlab.com/elixxir/primitives/format"
@@ -316,7 +315,7 @@ func TestGroup_newCmixMsg(t *testing.T) {
 	key, _ := group.NewKdfKey(g.Key, group.ComputeEpoch(timeNow), salt)
 
 	// Create expected messages
-	cmixMsg := format.NewMessage(m.store.Cmix().GetGroup().GetP().ByteLen())
+	cmixMsg := format.NewMessage(m.grp.GetP().ByteLen())
 	publicMessage, _ := newPublicMsg(cmixMsg.ContentsSize())
 	internalMessage, _ := newInternalMsg(publicMessage.GetPayloadSize())
 	internalMessage.SetTimestamp(timeNow)