diff --git a/core/pkg/logtree/journal.go b/core/pkg/logtree/journal.go
index bffe1b5..fe6d80c 100644
--- a/core/pkg/logtree/journal.go
+++ b/core/pkg/logtree/journal.go
@@ -168,7 +168,7 @@
 
 		passed := true
 		for _, filter := range filters {
-			if !filter(cur.origin, cur.payload.severity) {
+			if !filter(cur.origin, cur.leveled.severity) {
 				passed = false
 				break
 			}
@@ -193,7 +193,7 @@
 
 		passed := true
 		for _, filter := range filters {
-			if !filter(cur.origin, cur.payload.severity) {
+			if !filter(cur.origin, cur.leveled.severity) {
 				passed = false
 				break
 			}
diff --git a/core/pkg/logtree/journal_entry.go b/core/pkg/logtree/journal_entry.go
index 10a9ea4..58b21f5 100644
--- a/core/pkg/logtree/journal_entry.go
+++ b/core/pkg/logtree/journal_entry.go
@@ -24,8 +24,8 @@
 	// journal is the parent journal of this entry. An entry can belong only to a single journal. This pointer is used
 	// to mutate the journal's head/tail pointers when unlinking an entry.
 	journal *journal
-	// payload is the inner log entry Payload. It contains all data and metadata received from the log producer.
-	payload *Payload
+	// payload is the inner log entry LeveledPayload. It contains all data and metadata received from the log producer.
+	leveled *LeveledPayload
 
 	// prevGlobal is the previous entry in the global linked list, or nil if this entry is the oldest entry in the
 	// global linked list.
diff --git a/core/pkg/logtree/journal_subscriber.go b/core/pkg/logtree/journal_subscriber.go
index 18b8124..d6a91db 100644
--- a/core/pkg/logtree/journal_subscriber.go
+++ b/core/pkg/logtree/journal_subscriber.go
@@ -55,12 +55,12 @@
 		}
 
 		for _, filter := range sub.filters {
-			if !filter(e.origin, e.payload.severity) {
+			if !filter(e.origin, e.leveled.severity) {
 				continue
 			}
 		}
 		select {
-		case sub.dataC <- &LogEntry{Payload: e.payload, DN: e.origin}:
+		case sub.dataC <- &LogEntry{LeveledPayload: e.leveled, DN: e.origin}:
 		default:
 			atomic.AddUint64(&sub.missed, 1)
 		}
diff --git a/core/pkg/logtree/journal_test.go b/core/pkg/logtree/journal_test.go
index 1a2f8ec..253fc8d 100644
--- a/core/pkg/logtree/journal_test.go
+++ b/core/pkg/logtree/journal_test.go
@@ -27,7 +27,7 @@
 	for i := 0; i < 9000; i += 1 {
 		e := &entry{
 			origin:  "main",
-			payload: testPayload(fmt.Sprintf("test %d", i)),
+			leveled: testPayload(fmt.Sprintf("test %d", i)),
 		}
 		j.append(e)
 	}
@@ -38,7 +38,7 @@
 	}
 	for i, entry := range entries {
 		want := fmt.Sprintf("test %d", (9000-8192)+i)
-		got := entry.payload.message
+		got := entry.leveled.message
 		if want != got {
 			t.Fatalf("wanted entry %q, got %q", want, got)
 		}
@@ -51,12 +51,12 @@
 	for i := 0; i < 9000; i += 1 {
 		j.append(&entry{
 			origin:  "chatty",
-			payload: testPayload(fmt.Sprintf("chatty %d", i)),
+			leveled: testPayload(fmt.Sprintf("chatty %d", i)),
 		})
 		if i%10 == 0 {
 			j.append(&entry{
 				origin:  "solemn",
-				payload: testPayload(fmt.Sprintf("solemn %d", i)),
+				leveled: testPayload(fmt.Sprintf("solemn %d", i)),
 			})
 		}
 	}
@@ -80,7 +80,7 @@
 	}
 	setMessages := make(map[string]bool)
 	for _, entry := range entries {
-		setMessages[entry.payload.message] = true
+		setMessages[entry.leveled.message] = true
 	}
 
 	for i := 0; i < 900; i += 1 {
@@ -99,18 +99,18 @@
 
 func TestJournalSubtree(t *testing.T) {
 	j := newJournal()
-	j.append(&entry{origin: "a", payload: testPayload("a")})
-	j.append(&entry{origin: "a.b", payload: testPayload("a.b")})
-	j.append(&entry{origin: "a.b.c", payload: testPayload("a.b.c")})
-	j.append(&entry{origin: "a.b.d", payload: testPayload("a.b.d")})
-	j.append(&entry{origin: "e.f", payload: testPayload("e.f")})
-	j.append(&entry{origin: "e.g", payload: testPayload("e.g")})
+	j.append(&entry{origin: "a", leveled: testPayload("a")})
+	j.append(&entry{origin: "a.b", leveled: testPayload("a.b")})
+	j.append(&entry{origin: "a.b.c", leveled: testPayload("a.b.c")})
+	j.append(&entry{origin: "a.b.d", leveled: testPayload("a.b.d")})
+	j.append(&entry{origin: "e.f", leveled: testPayload("e.f")})
+	j.append(&entry{origin: "e.g", leveled: testPayload("e.g")})
 
 	expect := func(f filter, msgs ...string) string {
 		res := j.scanEntries(f)
 		set := make(map[string]bool)
 		for _, entry := range res {
-			set[entry.payload.message] = true
+			set[entry.leveled.message] = true
 		}
 
 		for _, want := range msgs {
diff --git a/core/pkg/logtree/logtree_access.go b/core/pkg/logtree/logtree_access.go
index 045f105..c10aa7b 100644
--- a/core/pkg/logtree/logtree_access.go
+++ b/core/pkg/logtree/logtree_access.go
@@ -78,7 +78,7 @@
 }
 
 type LogEntry struct {
-	*Payload
+	*LeveledPayload
 	DN DN
 }
 
@@ -146,7 +146,7 @@
 	lr := &LogReader{}
 	lr.Backlog = make([]*LogEntry, len(entries))
 	for i, entry := range entries {
-		lr.Backlog[i] = &LogEntry{Payload: entry.payload, DN: entry.origin}
+		lr.Backlog[i] = &LogEntry{LeveledPayload: entry.leveled, DN: entry.origin}
 	}
 	if stream {
 		lr.Stream = sub.dataC
diff --git a/core/pkg/logtree/logtree_publisher.go b/core/pkg/logtree/logtree_publisher.go
index 02243ac..bc47bc6 100644
--- a/core/pkg/logtree/logtree_publisher.go
+++ b/core/pkg/logtree/logtree_publisher.go
@@ -61,7 +61,7 @@
 			file = file[slash+1:]
 		}
 	}
-	p := &Payload{
+	p := &LeveledPayload{
 		timestamp: time.Now(),
 		severity:  severity,
 		message:   msg,
@@ -70,7 +70,7 @@
 	}
 	e := &entry{
 		origin:  n.dn,
-		payload: p,
+		leveled: p,
 	}
 	n.tree.journal.append(e)
 	n.tree.journal.notify(e)
diff --git a/core/pkg/logtree/payload.go b/core/pkg/logtree/payload.go
index c6707e9..2d64a7a 100644
--- a/core/pkg/logtree/payload.go
+++ b/core/pkg/logtree/payload.go
@@ -21,9 +21,9 @@
 	"time"
 )
 
-// Payload is a log entry for leveled logs (as per leveled.go). It contains not only the log message itself and its
-// severity, but also additional metadata that would be usually seen in a text representation of a leveled log entry.
-type Payload struct {
+// LeveledPayload is a log entry for leveled logs (as per leveled.go). It contains not only the log message itself and
+// its severity, but also additional metadata that would be usually seen in a text representation of a leveled log entry.
+type LeveledPayload struct {
 	// message is the log message, rendered from a leveled log call like Infof(), Warningf(), ...
 	message string
 	// timestamp is the time at which this message was emitted.
@@ -36,7 +36,7 @@
 	line int
 }
 
-func (p *Payload) String() string {
+func (p *LeveledPayload) String() string {
 	// Same format as in glog:
 	// Lmmdd hh:mm:ss.uuuuuu threadid file:line]
 	// Except, threadid is (currently) always zero. In the future this field might be used for something different.
@@ -51,14 +51,14 @@
 }
 
 // Message returns the inner message of this entry, ie. what was passed to the actual logging method.
-func (p *Payload) Message() string { return p.message }
+func (p *LeveledPayload) Message() string { return p.message }
 
 // Timestamp returns the time at which this entry was logged.
-func (p *Payload) Timestamp() time.Time { return p.timestamp }
+func (p *LeveledPayload) Timestamp() time.Time { return p.timestamp }
 
 // Location returns a string in the form of file_name:line_number that shows the origin of the log entry in the
 // program source.
-func (p *Payload) Location() string { return fmt.Sprintf("%s:%d", p.file, p.line) }
+func (p *LeveledPayload) Location() string { return fmt.Sprintf("%s:%d", p.file, p.line) }
 
 // Severity returns the Severity with which this entry was logged.
-func (p *Payload) Severity() Severity { return p.severity }
+func (p *LeveledPayload) Severity() Severity { return p.severity }
diff --git a/core/pkg/logtree/payload_test.go b/core/pkg/logtree/payload_test.go
index 26219cd..789fbcf 100644
--- a/core/pkg/logtree/payload_test.go
+++ b/core/pkg/logtree/payload_test.go
@@ -18,8 +18,8 @@
 
 import "time"
 
-func testPayload(msg string) *Payload {
-	return &Payload{
+func testPayload(msg string) *LeveledPayload {
+	return &LeveledPayload{
 		message:   msg,
 		timestamp: time.Now(),
 		severity:  INFO,
