Events are:

Verb is operation:

Noun is event target:

Each event will have a payload. How are these defined?

Many "events" aren't discrete points in time, so events also require status: started, completed, failed, etc. Unlike workflows, these aren't persisted as a unique timeline. We may need some way to associate events across an entire operation, but we can revisit later.

Definition of the noun will depend on the particular operation and context and would be defined in the event itself.

Event responders would be the way to wire to a data event. The basic event responder interface would indicate whether an event should be accepted and something about the event payload. Different base implementations for, e.g., handling events by data type, by other attributes.

This really is IFTTT.

An API to get sample events.