diff --git a/api/client.go b/api/client.go
index 6cb4786535df667e5232635a566e7e245f71a109..f9ae0cc51d1d7cbbf12c0134435088f5b9fbf240 100644
--- a/api/client.go
+++ b/api/client.go
@@ -63,6 +63,9 @@ type Client struct {
 	followerServices *services
 
 	clientErrorChannel chan interfaces.ClientError
+
+	// Event reporting in event.go
+	events eventManager
 }
 
 // NewClient creates client storage, generates keys, connects, and registers
@@ -184,6 +187,7 @@ func OpenClient(storageDir string, password []byte, parameters params.Network) (
 		followerServices:   newServices(),
 		parameters:         parameters,
 		clientErrorChannel: make(chan interfaces.ClientError, 1000),
+		events:             newEventManager(),
 	}
 
 	return c, nil
@@ -370,8 +374,13 @@ func (c *Client) registerFollower() error {
 		}
 	}
 
+	err := c.followerServices.add(c.events.eventService)
+	if err != nil {
+		return errors.WithMessage(err, "Couldn't start event reporting")
+	}
+
 	//register the core follower service
-	err := c.followerServices.add(func() (stoppable.Stoppable, error) { return c.network.Follow(cer) })
+	err = c.followerServices.add(func() (stoppable.Stoppable, error) { return c.network.Follow(cer) })
 	if err != nil {
 		return errors.WithMessage(err, "Failed to start following "+
 			"the network")
diff --git a/api/event.go b/api/event.go
index 4e5c59d91d3ef39189b148cf0172402d88b53c38..df9e93da36815d319bcdbeb1ed3945e7f4270e89 100644
--- a/api/event.go
+++ b/api/event.go
@@ -8,11 +8,11 @@
 package api
 
 import (
+	"fmt"
+	"github.com/pkg/errors"
 	jww "github.com/spf13/jwalterweatherman"
 	"gitlab.com/elixxir/client/stoppable"
 	"sync"
-	"github.com/pkg/errors"
-	"fmt"
 )
 
 // EventCallbackFunction defines the callback functions for client event reports
@@ -20,20 +20,22 @@ type EventCallbackFunction func(priority int, category, evtType, details string)
 
 // ReportableEvent is used to surface events to client users.
 type reportableEvent struct {
-	Priority int
-	Category string
+	Priority  int
+	Category  string
 	EventType string
-	Details string
+	Details   string
 }
+
 // Holds state for the event reporting system
 type eventManager struct {
-	eventCh chan reportableEvent
+	eventCh  chan reportableEvent
 	eventCbs []EventCallbackFunction
 	eventLck sync.Mutex
 }
+
 func newEventManager() eventManager {
-	return eventManager {
-		eventCh: make(chan reportableEvent, 1000),
+	return eventManager{
+		eventCh:  make(chan reportableEvent, 1000),
 		eventCbs: make([]EventCallbackFunction, 0),
 	}
 }
@@ -43,10 +45,10 @@ func newEventManager() eventManager {
 func (e eventManager) ReportEvent(priority int, category, evtType,
 	details string) {
 	re := reportableEvent{
-		Priority: priority,
-		Category: category,
+		Priority:  priority,
+		Category:  category,
 		EventType: evtType,
-		Details: details,
+		Details:   details,
 	}
 	select {
 	case e.eventCh <- re:
@@ -114,12 +116,14 @@ func (e eventManager) reportEventsHandler(stop *stoppable.Single) {
 func (c *Client) ReportEvent(priority int, category, evtType, details string) {
 	c.events.ReportEvent(priority, category, evtType, details)
 }
+
 // RegisterEventCallback records the given function to receive
 // ReportableEvent objects. It returns the internal index
 // of the callback so that it can be deleted later.
 func (c *Client) RegisterEventCallback(myFunc EventCallbackFunction) int {
 	return c.events.RegisterEventCallback(myFunc)
 }
+
 // UnregisterEventCallback deletes the callback identified by the
 // index. It returns an error if it fails.
 func (c *Client) UnregisterEventCallback(index int) error {