All event kinds now share one shape: a one-line header plus an optional diff body for changes. LogEvent.header is a lazy property covering every kind (change, aborted, created, migrated), and default_emit reduces to logging the header plus routing diff_lines to the .diff child logger. Custom emitters can tap the same blocks - header, diff_lines, Line, format_diff - instead of reimplementing formatting per message type.