Action is a value object representing an event. It is modelled closely after FSA and comes with some additional behavior.
- Action is a rich object, with an associated Meta
- Actions can be merged together to create aggregate actions
- Actions carry a history of where they've been and how they've evolved, creating a human-readable narrative of their lifecycle
- Actions can be ground together via an arbitrary correlaion id as well as by an arbitrary connection id
- Actions can be serialized to JSON and will strip out internal properties before doing so