# Functions
NewEvent returns an Event with all fields initialized.
NewEventQueue returns an EventQueue with a capacity for only one event at a time.
NewEventQueueBuffered returns an EventQueue with a capacity of, numBufferedEvents at a time, and all other needed fields initialized.
# Structs
Event is an event that can be enqueued onto an EventQueue.
EventQueue is a structure which is utilized to handle Events in a first-in, first-out order.
# Interfaces
EventHandler is an interface for allowing an EventQueue to handle events in a generic way.