diff --git a/connect/connect.go b/connect/connect.go
index e7d4d14c5c8b1cdee3da162226ba8f7c59313e31..16ff473fdce82bea50dadc8c252fb4cad1b14b1b 100644
--- a/connect/connect.go
+++ b/connect/connect.go
@@ -8,10 +8,11 @@ package connect
 
 import (
 	"encoding/json"
-	"gitlab.com/elixxir/client/xxdk"
 	"io"
 	"time"
 
+	"gitlab.com/elixxir/client/xxdk"
+
 	"github.com/pkg/errors"
 	jww "github.com/spf13/jwalterweatherman"
 	"gitlab.com/elixxir/client/auth"
@@ -123,7 +124,8 @@ func Connect(recipient contact.Contact, e2eClient *xxdk.E2e,
 		signalChannel <- connection
 	}
 	callback := getAuthCallback(cb, nil, e2eClient.GetE2E(), e2eClient.GetAuth(), p)
-	e2eClient.GetAuth().AddPartnerCallback(recipient.ID, callback)
+	cbs := xxdk.MakeAuthCB(e2eClient, callback)
+	e2eClient.GetAuth().AddPartnerCallback(recipient.ID, cbs)
 
 	// Perform the auth request
 	_, err := e2eClient.GetAuth().Request(recipient, nil)
@@ -254,7 +256,6 @@ func getAuthCallback(confirm, request Callback, e2e clientE2e.Handler,
 	return &authCallback{
 		confirmCallback:  confirm,
 		requestCallback:  request,
-		connectionE2e:    e2e,
 		connectionParams: params,
 		authState:        auth,
 	}
@@ -262,7 +263,7 @@ func getAuthCallback(confirm, request Callback, e2e clientE2e.Handler,
 
 // Confirm will be called when an auth Confirm message is processed.
 func (a authCallback) Confirm(requestor contact.Contact,
-	receptionID receptionID.EphemeralIdentity, round rounds.Round) {
+	receptionID receptionID.EphemeralIdentity, round rounds.Round, e2e *xxdk.E2e) {
 	jww.DEBUG.Printf("Connection auth request for %s confirmed",
 		requestor.ID.String())
 	defer a.authState.DeletePartnerCallback(requestor.ID)
@@ -288,7 +289,8 @@ func (a authCallback) Confirm(requestor contact.Contact,
 
 // Request will be called when an auth Request message is processed.
 func (a authCallback) Request(requestor contact.Contact,
-	receptionID receptionID.EphemeralIdentity, round rounds.Round) {
+	receptionID receptionID.EphemeralIdentity, round rounds.Round,
+	e2e *xxdk.E2e) {
 	if a.requestCallback == nil {
 		jww.ERROR.Printf("Received a request when requests are" +
 			"not enable, will not accept")
@@ -301,7 +303,7 @@ func (a authCallback) Request(requestor contact.Contact,
 		a.requestCallback(nil)
 	}
 	// After confirmation, get the new partner
-	newPartner, err := a.connectionE2e.GetPartner(requestor.ID)
+	newPartner, err := e2e.GetE2E().GetPartner(requestor.ID)
 	if err != nil {
 		jww.ERROR.Printf("Unable to build connection with "+
 			"partner %s: %+v", requestor.ID, err)
@@ -312,13 +314,14 @@ func (a authCallback) Request(requestor contact.Contact,
 	}
 
 	// Return the new Connection object
-	a.requestCallback(BuildConnection(newPartner, a.connectionE2e,
+	a.requestCallback(BuildConnection(newPartner, e2e.GetE2E(),
 		a.authState, a.connectionParams))
 }
 
 // Reset will be called when an auth Reset operation occurs.
 func (a authCallback) Reset(requestor contact.Contact,
-	receptionID receptionID.EphemeralIdentity, round rounds.Round) {
+	receptionID receptionID.EphemeralIdentity, round rounds.Round,
+	e2e *xxdk.E2e) {
 }
 
 // FirstPartitionSize returns the max partition payload size for the