# module Chef::EventDispatch

## EventDispatch¶ ↑

Classes in EventDispatch deal with collecting, distributing, and handling information in response to events that occur during a chef-client run.

EventDispatch uses a simple publishing system where data from all events are forwarded to all subscribers unconditionally.

EventDispatch is used to implement custom console output formatters so that users may have more control over the formatting and verbosity of Chef client output and client-side data collection for server-side client history storage and reporting.

### API Stability Status¶ ↑

The EventDispatch API is intended to become a stable, public API upon which end-users can implement their own custom output formatters, reporting integration libraries, and more. This is a new feature, however, so breaking changes may be required as it “bakes” in order to provide a clean, coherent and supportable API in the long term. Therefore, developers should consider the feature “beta” for now and be prepared for possible breaking changes in point releases.