# Functions
NewEventConsumer creates a new EventConsumer with an error channel.
# Structs
ErrorMessage represents an error and its associated message.
EventConsumer represents a generic consumer.
# Interfaces
EventBus is the interface for subscribing to and publishing events.