diff --git a/connectAuthClient/main.go b/connectAuthClient/main.go
index 2d59533dd9237c69fbadc677ed99c3421450d5cc..82672c786f652417c2bfbbb920958f134bf5ca95 100644
--- a/connectAuthClient/main.go
+++ b/connectAuthClient/main.go
@@ -95,7 +95,7 @@ func main() {
 	// `xxdk.DefaultAuthCallbacks` is fine here
 	params := xxdk.GetDefaultE2EParams()
 	jww.INFO.Printf("Using E2E parameters: %+v", params)
-	messenger, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
+	user, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
 		identity, params)
 	if err != nil {
 		jww.FATAL.Panicf("Unable to Login: %+v", err)
@@ -105,7 +105,7 @@ func main() {
 
 	// Set networkFollowerTimeout to a value of your choice (seconds)
 	networkFollowerTimeout := 5 * time.Second
-	err = messenger.StartNetworkFollower(networkFollowerTimeout)
+	err = user.StartNetworkFollower(networkFollowerTimeout)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to start network follower: %+v", err)
 	}
@@ -131,7 +131,7 @@ func main() {
 	connected := make(chan bool, 10)
 	// Provide a callback that will be signalled when network
 	// health status changes
-	messenger.GetCmix().AddHealthCallback(
+	user.GetCmix().AddHealthCallback(
 		func(isConnected bool) {
 			connected <- isConnected
 		})
@@ -157,7 +157,7 @@ func main() {
 	jww.INFO.Printf("Recipient contact: %+v", recipientContact)
 
 	// Create the connection
-	handler, err := connect.ConnectWithAuthentication(recipientContact, messenger, params)
+	handler, err := connect.ConnectWithAuthentication(recipientContact, user, params)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to create connection object: %+v", err)
 	}
@@ -195,7 +195,7 @@ func main() {
 	signal.Notify(c, os.Interrupt, syscall.SIGTERM)
 	<-c
 
-	err = messenger.StopNetworkFollower()
+	err = user.StopNetworkFollower()
 	if err != nil {
 		jww.ERROR.Printf("Failed to stop network follower: %+v", err)
 	} else {
diff --git a/connectClient/main.go b/connectClient/main.go
index 7147b0fc7c137fb499d6c1f18f152ade425145d8..8ff58e7f51eea47da46a5af9c89e39dcfca1446c 100644
--- a/connectClient/main.go
+++ b/connectClient/main.go
@@ -97,7 +97,7 @@ func main() {
 	// `xxdk.DefaultAuthCallbacks` is fine here
 	params := xxdk.GetDefaultE2EParams()
 	jww.INFO.Printf("Using E2E parameters: %+v", params)
-	messenger, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
+	user, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
 		identity, params)
 	if err != nil {
 		jww.FATAL.Panicf("Unable to Login: %+v", err)
@@ -107,7 +107,7 @@ func main() {
 
 	// Set networkFollowerTimeout to a value of your choice (seconds)
 	networkFollowerTimeout := 5 * time.Second
-	err = messenger.StartNetworkFollower(networkFollowerTimeout)
+	err = user.StartNetworkFollower(networkFollowerTimeout)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to start network follower: %+v", err)
 	}
@@ -133,7 +133,7 @@ func main() {
 	connected := make(chan bool, 10)
 	// Provide a callback that will be signalled when network
 	// health status changes
-	messenger.GetCmix().AddHealthCallback(
+	user.GetCmix().AddHealthCallback(
 		func(isConnected bool) {
 			connected <- isConnected
 		})
@@ -159,7 +159,7 @@ func main() {
 	jww.INFO.Printf("Recipient contact: %+v", recipientContact)
 
 	// Create the connection
-	handler, err := connect.Connect(recipientContact, messenger, params)
+	handler, err := connect.Connect(recipientContact, user, params)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to create connection object: %+v", err)
 	}
@@ -197,7 +197,7 @@ func main() {
 	signal.Notify(c, os.Interrupt, syscall.SIGTERM)
 	<-c
 
-	err = messenger.StopNetworkFollower()
+	err = user.StopNetworkFollower()
 	if err != nil {
 		jww.ERROR.Printf("Failed to stop network follower: %+v", err)
 	} else {
diff --git a/e2eClient/main.go b/e2eClient/main.go
index fdff06448be8e877be6494880509ba0802cafcb8..19e8d6556f812ecd418ad3eca9e01f8123034912 100644
--- a/e2eClient/main.go
+++ b/e2eClient/main.go
@@ -98,17 +98,17 @@ func main() {
 	params := xxdk.GetDefaultE2EParams()
 	jww.INFO.Printf("Using E2E parameters: %+v", params)
 	confirmChan := make(chan contact.Contact, 5)
-	messenger, err := xxdk.Login(net, &auth{confirmChan: confirmChan}, identity, params)
+	user, err := xxdk.Login(net, &auth{confirmChan: confirmChan}, identity, params)
 	if err != nil {
 		jww.FATAL.Panicf("Unable to Login: %+v", err)
 	}
-	e2eClient := messenger.GetE2E()
+	e2eClient := user.GetE2E()
 
 	// Start network threads------------------------------------------------------------
 
 	// Set networkFollowerTimeout to a value of your choice (seconds)
 	networkFollowerTimeout := 5 * time.Second
-	err = messenger.StartNetworkFollower(networkFollowerTimeout)
+	err = user.StartNetworkFollower(networkFollowerTimeout)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to start network follower: %+v", err)
 	}
@@ -133,7 +133,7 @@ func main() {
 	// Create a tracker channel to be notified of network changes
 	connected := make(chan bool, 10)
 	// Provide a callback that will be signalled when network health status changes
-	messenger.GetCmix().AddHealthCallback(
+	user.GetCmix().AddHealthCallback(
 		func(isConnected bool) {
 			connected <- isConnected
 		})
@@ -171,7 +171,7 @@ func main() {
 		// Check that the partner exists, if not send a request
 		_, err = e2eClient.GetPartner(recipientContact.ID)
 		if err != nil {
-			_, err = messenger.GetAuth().Request(recipientContact, fact.FactList{})
+			_, err = user.GetAuth().Request(recipientContact, fact.FactList{})
 			if err != nil {
 				jww.FATAL.Panicf("Failed to send contact request to %s: %+v", recipientContact.ID.String(), err)
 			}
@@ -205,7 +205,7 @@ func main() {
 	signal.Notify(c, os.Interrupt, syscall.SIGTERM)
 	<-c
 
-	err = messenger.StopNetworkFollower()
+	err = user.StopNetworkFollower()
 	if err != nil {
 		jww.ERROR.Printf("Failed to stop network follower: %+v", err)
 	} else {
diff --git a/restConnectClient/main.go b/restConnectClient/main.go
index e0365a249343fb7298dfc0d5a048008cfd4da1f2..1074599afa1b6cd5b493d7b121e760d00e91232d 100644
--- a/restConnectClient/main.go
+++ b/restConnectClient/main.go
@@ -113,7 +113,7 @@ func main() {
 	// xxdk.DefaultAuthCallbacks is fine here
 	params := xxdk.GetDefaultE2EParams()
 	jww.INFO.Printf("Using E2E parameters: %+v", params)
-	messenger, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
+	user, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
 		identity, params)
 	if err != nil {
 		jww.FATAL.Panicf("Unable to Login: %+v", err)
@@ -123,7 +123,7 @@ func main() {
 
 	// Set networkFollowerTimeout to a value of your choice (seconds)
 	networkFollowerTimeout := 5 * time.Second
-	err = messenger.StartNetworkFollower(networkFollowerTimeout)
+	err = user.StartNetworkFollower(networkFollowerTimeout)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to start network follower: %+v", err)
 	}
@@ -149,7 +149,7 @@ func main() {
 	connected := make(chan bool, 10)
 	// Provide a callback that will be signalled when network health status
 	// changes
-	messenger.GetCmix().AddHealthCallback(
+	user.GetCmix().AddHealthCallback(
 		func(isConnected bool) {
 			connected <- isConnected
 		})
@@ -176,7 +176,7 @@ func main() {
 
 	// Establish connection with the server------------------------------------
 
-	handler, err := connect.Connect(serverContact, messenger, params)
+	handler, err := connect.Connect(serverContact, user, params)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to create connection object: %+v", err)
 	}
@@ -185,7 +185,7 @@ func main() {
 
 	// Construct request-------------------------------------------------------
 
-	stream := messenger.GetRng().GetStream()
+	stream := user.GetRng().GetStream()
 	defer stream.Close()
 
 	grp, err := identity.GetGroup()
@@ -241,7 +241,7 @@ func main() {
 	jww.DEBUG.Printf("Waiting for SIGTERM signal to close process")
 	<-c
 
-	err = messenger.StopNetworkFollower()
+	err = user.StopNetworkFollower()
 	if err != nil {
 		jww.ERROR.Printf("Failed to stop network follower: %+v", err)
 	} else {
diff --git a/restSingleUseClient/main.go b/restSingleUseClient/main.go
index ad2e29c1ee742a559b509105dd7daef8ad642610..3ac42ed535d7e4131b4fa6e19bca098788a4ab7a 100644
--- a/restSingleUseClient/main.go
+++ b/restSingleUseClient/main.go
@@ -110,7 +110,7 @@ func main() {
 	// xxdk.DefaultAuthCallbacks is fine here
 	params := xxdk.GetDefaultE2EParams()
 	jww.INFO.Printf("Using E2E parameters: %+v", params)
-	messenger, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
+	user, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
 		identity, params)
 	if err != nil {
 		jww.FATAL.Panicf("Unable to Login: %+v", err)
@@ -120,7 +120,7 @@ func main() {
 
 	// Set networkFollowerTimeout to a value of your choice (seconds)
 	networkFollowerTimeout := 5 * time.Second
-	err = messenger.StartNetworkFollower(networkFollowerTimeout)
+	err = user.StartNetworkFollower(networkFollowerTimeout)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to start network follower: %+v", err)
 	}
@@ -146,7 +146,7 @@ func main() {
 	connected := make(chan bool, 10)
 	// Provide a callback that will be signalled when network health status
 	// changes
-	messenger.GetCmix().AddHealthCallback(
+	user.GetCmix().AddHealthCallback(
 		func(isConnected bool) {
 			connected <- isConnected
 		})
@@ -173,7 +173,7 @@ func main() {
 
 	// Construct request-------------------------------------------------------
 
-	stream := messenger.GetRng().GetStream()
+	stream := user.GetRng().GetStream()
 	defer stream.Close()
 
 	grp, err := identity.GetGroup()
@@ -182,7 +182,7 @@ func main() {
 	}
 
 	request := restSingle.Request{
-		Net:    messenger.GetCmix(),
+		Net:    user.GetCmix(),
 		Rng:    stream,
 		E2eGrp: grp,
 	}
@@ -230,7 +230,7 @@ func main() {
 	jww.DEBUG.Printf("Waiting for SIGTERM signal to close process")
 	<-c
 
-	err = messenger.StopNetworkFollower()
+	err = user.StopNetworkFollower()
 	if err != nil {
 		jww.ERROR.Printf("Failed to stop network follower: %+v", err)
 	} else {
diff --git a/restSingleUseServer/main.go b/restSingleUseServer/main.go
index 0ba74c3ba71370e99b2245ac0f39f4efcaa361c3..c86903d821648be9f153147212f9fcd0d1ef9d39 100644
--- a/restSingleUseServer/main.go
+++ b/restSingleUseServer/main.go
@@ -101,7 +101,7 @@ func main() {
 	// xxdk.DefaultAuthCallbacks is fine here
 	params := xxdk.GetDefaultE2EParams()
 	jww.INFO.Printf("Using E2E parameters: %+v", params)
-	messenger, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
+	user, err := xxdk.Login(net, xxdk.DefaultAuthCallbacks{},
 		identity, params)
 	if err != nil {
 		jww.FATAL.Panicf("Unable to Login: %+v", err)
@@ -126,7 +126,7 @@ func main() {
 	}
 	// Initialize the server
 	restlikeServer := single.NewServer(identity.ID, dhKeyPrivateKey,
-		grp, messenger.GetCmix())
+		grp, user.GetCmix())
 	jww.INFO.Printf("Initialized restlike single use server")
 
 	// Implement restlike endpoint---------------------------------------------
@@ -142,7 +142,7 @@ func main() {
 
 	// Set networkFollowerTimeout to a value of your choice (seconds)
 	networkFollowerTimeout := 5 * time.Second
-	err = messenger.StartNetworkFollower(networkFollowerTimeout)
+	err = user.StartNetworkFollower(networkFollowerTimeout)
 	if err != nil {
 		jww.FATAL.Panicf("Failed to start network follower: %+v", err)
 	}
@@ -168,7 +168,7 @@ func main() {
 	connected := make(chan bool, 10)
 	// Provide a callback that will be signalled when network
 	// health status changes
-	messenger.GetCmix().AddHealthCallback(
+	user.GetCmix().AddHealthCallback(
 		func(isConnected bool) {
 			connected <- isConnected
 		})
@@ -183,7 +183,7 @@ func main() {
 	jww.DEBUG.Printf("Waiting for SIGTERM signal to close process")
 	<-c
 
-	err = messenger.StopNetworkFollower()
+	err = user.StopNetworkFollower()
 	if err != nil {
 		jww.ERROR.Printf("Failed to stop network follower: %+v", err)
 	} else {