diff --git a/e2e/interface.go b/e2e/interface.go
index 56f9a192d3ae2082f2ddd7dc76219e7c28203ff2..03e9d312a692dfd9649f8ce4e4fe2521a3bb82eb 100644
--- a/e2e/interface.go
+++ b/e2e/interface.go
@@ -116,12 +116,12 @@ type Handler interface {
 		partnerPubKey, myPrivKey *cyclic.Int,
 		partnerSIDHPubKey *sidh.PublicKey,
 		mySIDHPrivKey *sidh.PrivateKey, sendParams,
-		receiveParams session.Params) (*partner.Manager, error)
+		receiveParams session.Params) (partner.Manager, error)
 
 	// GetPartner returns the partner per its ID, if it exists
 	// myID is your ID in the relationship, if left blank, it will
 	// assume to be your defaultID
-	GetPartner(partnerID *id.ID) (*partner.Manager, error)
+	GetPartner(partnerID *id.ID) (partner.Manager, error)
 
 	// DeletePartner removes the associated contact from the E2E store
 	// myID is your ID in the relationship, if left blank, it will
diff --git a/e2e/ratchet/partner/interface.go b/e2e/ratchet/partner/interface.go
index 39b0cbee3e7d23c1f1b86303808f87b1cb46a899..4b7610eb44b8ee8226f744e1fcd4637acd863bfb 100644
--- a/e2e/ratchet/partner/interface.go
+++ b/e2e/ratchet/partner/interface.go
@@ -9,22 +9,27 @@ import (
 	"gitlab.com/xx_network/primitives/id"
 )
 
-type ManagerInt interface {
+type Manager interface {
 	NewReceiveSession(partnerPubKey *cyclic.Int,
 		partnerSIDHPubKey *sidh.PublicKey, e2eParams session.Params,
 		source *session.Session) (*session.Session, bool)
-	NewSendSession(myPrivKey *cyclic.Int,
-		mySIDHPrivKey *sidh.PrivateKey, e2eParams session.Params)
+	NewSendSession(*cyclic.Int, *sidh.PrivateKey, session.Params,
+		*session.Session) *session.Session
 	PopSendCypher() (*session.Cypher, error)
 	PopRekeyCypher() (*session.Cypher, error)
 	GetPartnerID() *id.ID
+	GetMyID() *id.ID
 	GetSendSession(sid session.SessionID) *session.Session
-	GetSendRelationshipFingerprint()
-	Confirm(sid session.SessionID)
+	GetReceiveSession(sid session.SessionID) *session.Session
+	GetSendRelationshipFingerprint() []byte
+	Confirm(sid session.SessionID) error
 	TriggerNegotiations() []*session.Session
-	GetMyOriginPrivateKey()
-	GetPartnerOriginPublicKey()
+	GetMyOriginPrivateKey() *cyclic.Int
+	GetPartnerOriginPublicKey() *cyclic.Int
 	GetRelationshipFingerprintBytes() []byte
+	GetRelationshipFingerprint() string
 	MakeService(tag string) message.Service
 	GetContact() contact.Contact
+	DeleteRelationship() error
+	ClearManager() error
 }
diff --git a/e2e/ratchet/partner/manager.go b/e2e/ratchet/partner/manager.go
index 7ff57a1383aa0b2317c5a758b3c0c3e5be5afc5a..a8e482cc4acbc53c14f6680a9f94825391b27fe6 100644
--- a/e2e/ratchet/partner/manager.go
+++ b/e2e/ratchet/partner/manager.go
@@ -30,7 +30,7 @@ const managerPrefix = "Manager{partner:%s}"
 const originMyPrivKeyKey = "originMyPrivKey"
 const originPartnerPubKey = "originPartnerPubKey"
 
-type Manager struct {
+type manager struct {
 	kv *versioned.KV
 
 	myID    *id.ID
@@ -55,11 +55,11 @@ func NewManager(kv *versioned.KV, myID, partnerID *id.ID, myPrivKey,
 	partnerPubKey *cyclic.Int, mySIDHPrivKey *sidh.PrivateKey,
 	partnerSIDHPubKey *sidh.PublicKey, sendParams,
 	receiveParams session.Params, cyHandler session.CypherHandler,
-	grp *cyclic.Group, rng *fastRNG.StreamGenerator) *Manager {
+	grp *cyclic.Group, rng *fastRNG.StreamGenerator) Manager {
 
 	kv = kv.Prefix(makeManagerPrefix(partnerID))
 
-	m := &Manager{
+	m := &manager{
 		kv:                      kv,
 		originMyPrivKey:         myPrivKey,
 		originPartnerPubKey:     partnerPubKey,
@@ -96,9 +96,9 @@ func NewManager(kv *versioned.KV, myID, partnerID *id.ID, myPrivKey,
 //LoadManager loads a relationship and all buffers and sessions from disk
 func LoadManager(kv *versioned.KV, myID, partnerID *id.ID,
 	cyHandler session.CypherHandler, grp *cyclic.Group,
-	rng *fastRNG.StreamGenerator) (*Manager, error) {
+	rng *fastRNG.StreamGenerator) (Manager, error) {
 
-	m := &Manager{
+	m := &manager{
 		kv:        kv.Prefix(makeManagerPrefix(partnerID)),
 		myID:      myID,
 		partner:   partnerID,
@@ -144,8 +144,8 @@ func LoadManager(kv *versioned.KV, myID, partnerID *id.ID,
 // ClearManager removes the relationship between the partner
 // and deletes the Send and Receive sessions. This includes the
 // sessions and the key vectors
-func ClearManager(m *Manager) error {
-	if err := DeleteRelationship(m); err != nil {
+func (m *manager) ClearManager() error {
+	if err := m.DeleteRelationship(); err != nil {
 		return errors.WithMessage(err,
 			"Failed to delete relationship")
 	}
@@ -164,7 +164,7 @@ func ClearManager(m *Manager) error {
 // session already exists, then it will not be overwritten and the extant
 // session will be returned with the bool set to true denoting a duplicate. This
 // allows for support of duplicate key exchange triggering.
-func (m *Manager) NewReceiveSession(partnerPubKey *cyclic.Int,
+func (m *manager) NewReceiveSession(partnerPubKey *cyclic.Int,
 	partnerSIDHPubKey *sidh.PublicKey, e2eParams session.Params,
 	source *session.Session) (*session.Session, bool) {
 
@@ -190,7 +190,7 @@ func (m *Manager) NewReceiveSession(partnerPubKey *cyclic.Int,
 // NewSendSession creates a new Send session using the latest public key
 // received from the partner and a new private key for the user. Passing in a
 // private key is optional. A private key will be generated if none is passed.
-func (m *Manager) NewSendSession(myPrivKey *cyclic.Int,
+func (m *manager) NewSendSession(myPrivKey *cyclic.Int,
 	mySIDHPrivKey *sidh.PrivateKey, e2eParams session.Params,
 	sourceSession *session.Session) *session.Session {
 
@@ -202,61 +202,61 @@ func (m *Manager) NewSendSession(myPrivKey *cyclic.Int,
 
 // PopSendCypher gets the correct session to Send with depending on the type
 // of Send.
-func (m *Manager) PopSendCypher() (*session.Cypher, error) {
+func (m *manager) PopSendCypher() (*session.Cypher, error) {
 	return m.send.getKeyForSending()
 }
 
 // PopRekeyCypher gets the correct session to Send with depending on the type
 // of Send.
-func (m *Manager) PopRekeyCypher() (*session.Cypher, error) {
+func (m *manager) PopRekeyCypher() (*session.Cypher, error) {
 	return m.send.getKeyForRekey()
 
 }
 
 // GetPartnerID returns a copy of the ID of the partner.
-func (m *Manager) GetPartnerID() *id.ID {
+func (m *manager) GetPartnerID() *id.ID {
 	return m.partner.DeepCopy()
 }
 
 // GetMyID returns a copy of the ID used as self.
-func (m *Manager) GetMyID() *id.ID {
+func (m *manager) GetMyID() *id.ID {
 	return m.myID.DeepCopy()
 }
 
 // GetSendSession gets the Send session of the passed ID. Returns nil if no
 // session is found.
-func (m *Manager) GetSendSession(sid session.SessionID) *session.Session {
+func (m *manager) GetSendSession(sid session.SessionID) *session.Session {
 	return m.send.GetByID(sid)
 }
 
 // GetReceiveSession gets the Receive session of the passed ID. Returns nil if
 // no session is found.
-func (m *Manager) GetReceiveSession(sid session.SessionID) *session.Session {
+func (m *manager) GetReceiveSession(sid session.SessionID) *session.Session {
 	return m.receive.GetByID(sid)
 }
 
 // GetSendSession gets the Send session of the passed ID. Returns nil if no
 // session is found.
-func (m *Manager) GetSendRelationshipFingerprint() []byte {
+func (m *manager) GetSendRelationshipFingerprint() []byte {
 	return m.send.fingerprint
 }
 
 // Confirm confirms a Send session is known about by the partner.
-func (m *Manager) Confirm(sid session.SessionID) error {
+func (m *manager) Confirm(sid session.SessionID) error {
 	return m.send.Confirm(sid)
 }
 
 // TriggerNegotiations returns a list of key exchange operations if any are
 // necessary.
-func (m *Manager) TriggerNegotiations() []*session.Session {
+func (m *manager) TriggerNegotiations() []*session.Session {
 	return m.send.TriggerNegotiation()
 }
 
-func (m *Manager) GetMyOriginPrivateKey() *cyclic.Int {
+func (m *manager) GetMyOriginPrivateKey() *cyclic.Int {
 	return m.originMyPrivKey.DeepCopy()
 }
 
-func (m *Manager) GetPartnerOriginPublicKey() *cyclic.Int {
+func (m *manager) GetPartnerOriginPublicKey() *cyclic.Int {
 	return m.originPartnerPubKey.DeepCopy()
 }
 
@@ -265,7 +265,7 @@ const relationshipFpLength = 15
 // GetRelationshipFingerprint returns a unique fingerprint for an E2E
 // relationship. The fingerprint is a base 64 encoded hash of of the two
 // relationship fingerprints truncated to 15 characters.
-func (m *Manager) GetRelationshipFingerprint() string {
+func (m *manager) GetRelationshipFingerprint() string {
 
 	// Base 64 encode hash and truncate
 	return base64.StdEncoding.EncodeToString(
@@ -274,7 +274,7 @@ func (m *Manager) GetRelationshipFingerprint() string {
 
 // GetRelationshipFingerprintBytes returns a unique fingerprint for an E2E
 // relationship. used for the e2e preimage.
-func (m *Manager) GetRelationshipFingerprintBytes() []byte {
+func (m *manager) GetRelationshipFingerprintBytes() []byte {
 	// Sort fingerprints
 	var fps [][]byte
 
@@ -297,7 +297,7 @@ func (m *Manager) GetRelationshipFingerprintBytes() []byte {
 // MakeService Returns a service interface with the
 // appropriate identifier for who is being sent to. Will populate
 // the metadata with the partner
-func (m *Manager) MakeService(tag string) message.Service {
+func (m *manager) MakeService(tag string) message.Service {
 	return message.Service{
 		Identifier: m.GetRelationshipFingerprintBytes(),
 		Tag:        tag,
@@ -307,7 +307,7 @@ func (m *Manager) MakeService(tag string) message.Service {
 
 // GetContact assembles and returns a contact.Contact with the partner's ID
 // and DH key.
-func (m *Manager) GetContact() contact.Contact {
+func (m *manager) GetContact() contact.Contact {
 	// Assemble Contact
 	return contact.Contact{
 		ID:       m.GetPartnerID(),
diff --git a/e2e/ratchet/partner/manager_test.go b/e2e/ratchet/partner/manager_test.go
index 57e194cc5b8ef30bc531bcf888e8e73287a76ecd..f0ffd05b9fac33be86ad92ae514bdff4f8927d2b 100644
--- a/e2e/ratchet/partner/manager_test.go
+++ b/e2e/ratchet/partner/manager_test.go
@@ -32,15 +32,17 @@ func Test_newManager(t *testing.T) {
 	expectedM, kv := newTestManager(t)
 
 	// Create new relationship
-	m := NewManager(kv, expectedM.myID, expectedM.partner,
+	newM := NewManager(kv, expectedM.myID, expectedM.partner,
 		expectedM.originMyPrivKey, expectedM.originPartnerPubKey,
 		expectedM.originMySIDHPrivKey,
 		expectedM.originPartnerSIDHPubKey, session.GetDefaultParams(),
 		session.GetDefaultParams(),
 		expectedM.cyHandler, expectedM.grp, expectedM.rng)
 
+	m := newM.(*manager)
+
 	// Check if the new relationship matches the expected
-	if !managersEqual(expectedM, m, t) {
+	if !managersEqual(&expectedM, m, t) {
 		t.Errorf("newManager() did not produce the expected Manager."+
 			"\n\texpected: %+v\n\treceived: %+v", expectedM, m)
 	}
@@ -52,14 +54,15 @@ func TestLoadManager(t *testing.T) {
 	expectedM, kv := newTestManager(t)
 
 	// Attempt to load relationship
-	m, err := LoadManager(kv, expectedM.myID, expectedM.partner,
+	newM, err := LoadManager(kv, expectedM.myID, expectedM.partner,
 		expectedM.cyHandler, expectedM.grp, expectedM.rng)
 	if err != nil {
 		t.Errorf("LoadManager() returned an error: %v", err)
 	}
+	m := newM.(*manager)
 
 	// Check if the loaded relationship matches the expected
-	if !managersEqual(expectedM, m, t) {
+	if !managersEqual(&expectedM, m, t) {
 		t.Errorf("LoadManager() did not produce the expected Manager."+
 			"\n\texpected: %+v\n\treceived: %+v", expectedM, m)
 	}
@@ -77,7 +80,7 @@ func TestManager_ClearManager(t *testing.T) {
 	// Set up expected and test values
 	expectedM, kv := newTestManager(t)
 
-	err := ClearManager(expectedM)
+	err := expectedM.ClearManager()
 	if err != nil {
 		t.Fatalf("clearManager returned an error: %v", err)
 	}
@@ -252,7 +255,7 @@ func TestManager_GetPartnerID(t *testing.T) {
 func TestManager_GetMyID(t *testing.T) {
 	myId := id.NewIdFromUInt(rand.Uint64(), id.User, t)
 
-	m := &Manager{myID: myId}
+	m := &manager{myID: myId}
 
 	receivedMyId := m.GetMyID()
 
diff --git a/e2e/ratchet/partner/relationship.go b/e2e/ratchet/partner/relationship.go
index 0b82eed30f1e20cc374543722a6d7a6d937d7a81..e41b368116068c074aa974caf546c7e6bc180525 100644
--- a/e2e/ratchet/partner/relationship.go
+++ b/e2e/ratchet/partner/relationship.go
@@ -148,11 +148,11 @@ func LoadRelationship(kv *versioned.KV, t session.RelationshipType, myID,
 
 // DeleteRelationship removes all relationship and
 // relationship adjacent information from storage
-func DeleteRelationship(manager *Manager) error {
+func (m *manager) DeleteRelationship() error {
 
 	// Delete the send information
-	sendKv := manager.kv.Prefix(session.Send.Prefix())
-	manager.send.Delete()
+	sendKv := m.kv.Prefix(session.Send.Prefix())
+	m.send.Delete()
 	if err := deleteRelationshipFingerprint(sendKv); err != nil {
 		return err
 	}
@@ -163,8 +163,8 @@ func DeleteRelationship(manager *Manager) error {
 	}
 
 	// Delete the receive information
-	receiveKv := manager.kv.Prefix(session.Receive.Prefix())
-	manager.receive.Delete()
+	receiveKv := m.kv.Prefix(session.Receive.Prefix())
+	m.receive.Delete()
 	if err := deleteRelationshipFingerprint(receiveKv); err != nil {
 		return err
 	}
diff --git a/e2e/ratchet/partner/relationship_test.go b/e2e/ratchet/partner/relationship_test.go
index 2dc11017a9f4160586b82a0017daffb19fe9caf7..911a5f711d43eb1af403872d65d6e4ad6a1d2ad7 100644
--- a/e2e/ratchet/partner/relationship_test.go
+++ b/e2e/ratchet/partner/relationship_test.go
@@ -8,6 +8,9 @@
 package partner
 
 import (
+	"reflect"
+	"testing"
+
 	"github.com/cloudflare/circl/dh/sidh"
 	"gitlab.com/elixxir/client/e2e/ratchet/partner/session"
 	util "gitlab.com/elixxir/client/storage/utility"
@@ -19,8 +22,6 @@ import (
 	"gitlab.com/xx_network/crypto/csprng"
 	"gitlab.com/xx_network/crypto/large"
 	"gitlab.com/xx_network/primitives/id"
-	"reflect"
-	"testing"
 )
 
 // Subtest: unmarshal/marshal with one session in the buff
@@ -89,7 +90,7 @@ func TestDeleteRelationship(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	err := DeleteRelationship(mgr)
+	err := mgr.DeleteRelationship()
 	if err != nil {
 		t.Fatalf("DeleteRelationship error: Could not delete manager: %v", err)
 	}
@@ -842,7 +843,7 @@ func TestSessionBuff_TriggerNegotiation(t *testing.T) {
 	}
 }
 
-func makeTestRelationshipManager(t *testing.T) (*Manager, *versioned.KV) {
+func makeTestRelationshipManager(t *testing.T) (*manager, *versioned.KV) {
 	grp := cyclic.NewGroup(
 		large.NewIntFromString("E2EE983D031DC1DB6F1A7A67DF0E9A8E5561DB8E8D49413394C049B"+
 			"7A8ACCEDC298708F121951D9CF920EC5D146727AA4AE535B0922C688B55B3DD2AE"+
@@ -876,7 +877,7 @@ func makeTestRelationshipManager(t *testing.T) (*Manager, *versioned.KV) {
 
 	kv := versioned.NewKV(make(ekv.Memstore))
 	frng := fastRNG.NewStreamGenerator(1000, 10, csprng.NewSystemRNG)
-	return &Manager{
+	return &manager{
 		kv:                      kv,
 		myID:                    myID,
 		partner:                 id.NewIdFromString("zezima", id.User, t),
diff --git a/e2e/ratchet/partner/utils_test.go b/e2e/ratchet/partner/utils_test.go
index 7984535e240a2dfdc77450a941ba8874eb616229..910384d7ce98fa557f936f13e5b94bfbbe7650a6 100644
--- a/e2e/ratchet/partner/utils_test.go
+++ b/e2e/ratchet/partner/utils_test.go
@@ -2,6 +2,9 @@ package partner
 
 import (
 	"bytes"
+	"reflect"
+	"testing"
+
 	"github.com/cloudflare/circl/dh/sidh"
 	"gitlab.com/elixxir/client/e2e/ratchet/partner/session"
 	util "gitlab.com/elixxir/client/storage/utility"
@@ -13,8 +16,6 @@ import (
 	"gitlab.com/xx_network/crypto/csprng"
 	"gitlab.com/xx_network/crypto/large"
 	"gitlab.com/xx_network/primitives/id"
-	"reflect"
-	"testing"
 )
 
 type mockCyHandler struct {
@@ -50,7 +51,7 @@ func getGroup() *cyclic.Group {
 }
 
 // newTestManager returns a new relationship for testing.
-func newTestManager(t *testing.T) (*Manager, *versioned.KV) {
+func newTestManager(t *testing.T) (manager, *versioned.KV) {
 	if t == nil {
 		panic("Cannot run this outside tests")
 	}
@@ -83,10 +84,12 @@ func newTestManager(t *testing.T) (*Manager, *versioned.KV) {
 		mockCyHandler{}, grp,
 		fastRNG.NewStreamGenerator(1000, 10, csprng.NewSystemRNG))
 
-	return m, kv
+	newM := m.(*manager)
+
+	return *newM, kv
 }
 
-func managersEqual(expected, received *Manager, t *testing.T) bool {
+func managersEqual(expected, received *manager, t *testing.T) bool {
 	equal := true
 	if !reflect.DeepEqual(expected.cyHandler, received.cyHandler) {
 		t.Errorf("Did not Receive expected Manager.cyHandler."+
diff --git a/e2e/ratchet/ratchet.go b/e2e/ratchet/ratchet.go
index b75fe8349c9814c2b78725bfd697e71c5d7f52c0..de02338decd9b30ff6783e877a861c8c98d9d41a 100644
--- a/e2e/ratchet/ratchet.go
+++ b/e2e/ratchet/ratchet.go
@@ -33,7 +33,7 @@ const (
 var NoPartnerErrorStr = "No relationship with partner found"
 
 type Ratchet struct {
-	managers map[id.ID]*partner.Manager
+	managers map[id.ID]partner.Manager
 	mux      sync.RWMutex
 
 	myID                  *id.ID
@@ -66,7 +66,7 @@ func New(kv *versioned.KV, myID *id.ID, privKey *cyclic.Int,
 	kv = kv.Prefix(packagePrefix)
 
 	r := &Ratchet{
-		managers: make(map[id.ID]*partner.Manager),
+		managers: make(map[id.ID]partner.Manager),
 		services: make(map[string]message.Processor),
 
 		myID:                  myID,
@@ -98,7 +98,7 @@ func New(kv *versioned.KV, myID *id.ID, privKey *cyclic.Int,
 func (r *Ratchet) AddPartner(partnerID *id.ID,
 	partnerPubKey, myPrivKey *cyclic.Int, partnerSIDHPubKey *sidh.PublicKey,
 	mySIDHPrivKey *sidh.PrivateKey, sendParams,
-	receiveParams session.Params) (*partner.Manager, error) {
+	receiveParams session.Params) (partner.Manager, error) {
 	r.mux.Lock()
 	defer r.mux.Unlock()
 
@@ -132,7 +132,7 @@ func (r *Ratchet) AddPartner(partnerID *id.ID,
 }
 
 // GetPartner returns the partner per its ID, if it exists
-func (r *Ratchet) GetPartner(partnerID *id.ID) (*partner.Manager, error) {
+func (r *Ratchet) GetPartner(partnerID *id.ID) (partner.Manager, error) {
 	r.mux.RLock()
 	defer r.mux.RUnlock()
 
@@ -152,7 +152,7 @@ func (r *Ratchet) DeletePartner(partnerID *id.ID) error {
 		return errors.New(NoPartnerErrorStr)
 	}
 
-	if err := partner.ClearManager(m); err != nil {
+	if err := m.ClearManager(); err != nil {
 		return errors.WithMessagef(err,
 			"Could not remove partner %s from store",
 			partnerID)
diff --git a/e2e/ratchet/ratchet_test.go b/e2e/ratchet/ratchet_test.go
index 8b878cf3ed9e1f483918868e22aa3516135fafe1..bbb3b8e5d39caee07f763a9c48aa5bedf111234f 100644
--- a/e2e/ratchet/ratchet_test.go
+++ b/e2e/ratchet/ratchet_test.go
@@ -32,7 +32,7 @@ func TestNewStore(t *testing.T) {
 	privKey := grp.NewInt(57)
 	kv := versioned.NewKV(make(ekv.Memstore))
 	expectedStore := &Ratchet{
-		managers:              make(map[id.ID]*partner.Manager),
+		managers:              make(map[id.ID]partner.Manager),
 		myInitialDHPrivateKey: privKey,
 		myInitialDHPublicKey:  diffieHellman.GeneratePublicKey(privKey, grp),
 		grp:                   grp,
diff --git a/e2e/ratchet/serviceList.go b/e2e/ratchet/serviceList.go
index 2cc2133c34809b4e6e64c9e4270187c5f953a352..0bd23650b751e167b92a7eb608b92d2a4b0c6483 100644
--- a/e2e/ratchet/serviceList.go
+++ b/e2e/ratchet/serviceList.go
@@ -15,7 +15,7 @@ type Services interface {
 		processor message.Processor)
 }
 
-func (r *Ratchet) add(m *partner.Manager) {
+func (r *Ratchet) add(m partner.Manager) {
 	r.servicesmux.RLock()
 	defer r.servicesmux.RUnlock()
 	for tag, process := range r.services {
@@ -23,7 +23,7 @@ func (r *Ratchet) add(m *partner.Manager) {
 	}
 }
 
-func (r *Ratchet) delete(m *partner.Manager) {
+func (r *Ratchet) delete(m partner.Manager) {
 	r.servicesmux.RLock()
 	defer r.servicesmux.RUnlock()
 	for tag, process := range r.services {
diff --git a/e2e/ratchet/storage.go b/e2e/ratchet/storage.go
index 866cec31e2a08e051719380f08f440101cd0fbcc..3be01b979872c68e093abbb266d5964be0509d09 100644
--- a/e2e/ratchet/storage.go
+++ b/e2e/ratchet/storage.go
@@ -28,7 +28,7 @@ func Load(kv *versioned.KV, myID *id.ID, grp *cyclic.Group,
 	kv = kv.Prefix(packagePrefix)
 
 	r := &Ratchet{
-		managers: make(map[id.ID]*partner.Manager),
+		managers: make(map[id.ID]partner.Manager),
 		services: make(map[string]message.Processor),
 
 		myID: myID,
diff --git a/e2e/ratchet/utils_test.go b/e2e/ratchet/utils_test.go
index 814155300b938aad2572863b09023d04f7afcb6e..9c2b763e93e4d6864d92632f009b593b31016549 100644
--- a/e2e/ratchet/utils_test.go
+++ b/e2e/ratchet/utils_test.go
@@ -1,6 +1,11 @@
 package ratchet
 
 import (
+	"io"
+	"reflect"
+	"strings"
+	"testing"
+
 	"github.com/cloudflare/circl/dh/sidh"
 	"github.com/pkg/errors"
 	"gitlab.com/elixxir/client/cmix/message"
@@ -14,10 +19,6 @@ import (
 	"gitlab.com/xx_network/crypto/csprng"
 	"gitlab.com/xx_network/crypto/large"
 	"gitlab.com/xx_network/primitives/id"
-	"io"
-	"reflect"
-	"strings"
-	"testing"
 )
 
 func makeTestRatchet() (*Ratchet, *versioned.KV, error) {
@@ -42,7 +43,7 @@ func makeTestRatchet() (*Ratchet, *versioned.KV, error) {
 	return r, kv, err
 }
 
-func managersEqual(expected, received *partner.Manager, t *testing.T) bool {
+func managersEqual(expected, received partner.Manager, t *testing.T) bool {
 	equal := true
 	if !reflect.DeepEqual(expected.GetPartnerID(), received.GetPartnerID()) {
 		t.Errorf("Did not Receive expected Manager.partnerID."+
diff --git a/e2e/rekey/rekey.go b/e2e/rekey/rekey.go
index ec09947b0627e40e28c7c4bc6e30c253fb002c03..91209bd741f62d039fc9a46276d13ab7727a2a92 100644
--- a/e2e/rekey/rekey.go
+++ b/e2e/rekey/rekey.go
@@ -9,6 +9,8 @@ package rekey
 
 import (
 	"fmt"
+	"time"
+
 	"github.com/golang/protobuf/proto"
 	"github.com/pkg/errors"
 	jww "github.com/spf13/jwalterweatherman"
@@ -22,11 +24,10 @@ import (
 	"gitlab.com/elixxir/crypto/cyclic"
 	"gitlab.com/elixxir/crypto/diffieHellman"
 	"gitlab.com/elixxir/primitives/states"
-	"time"
 )
 
 func CheckKeyExchanges(instance *commsNetwork.Instance, grp *cyclic.Group,
-	sendE2E E2eSender, events event.Manager, manager *partner.Manager,
+	sendE2E E2eSender, events event.Manager, manager partner.Manager,
 	param Params, sendTimeout time.Duration) {
 
 	//get all sessions that may need a key exchange
@@ -44,7 +45,7 @@ func CheckKeyExchanges(instance *commsNetwork.Instance, grp *cyclic.Group,
 // session. They run the same negotiation, the former does it on a newly created
 // session while the latter on an extant session
 func trigger(instance *commsNetwork.Instance, grp *cyclic.Group, sendE2E E2eSender,
-	events event.Manager, manager *partner.Manager, inputSession *session.Session,
+	events event.Manager, manager partner.Manager, inputSession *session.Session,
 	sendTimeout time.Duration, params Params) {
 
 	var negotiatingSession *session.Session