use crateAction;
/// Completion payload returned by a state when it finishes.
///
/// `output` carries an optional key-value pair to store in the machine's
/// result map. `then` holds continuation states to splice into the front
/// of the queue before the machine pops its next state.
/// A single step in a state machine, generic over context type `Ctx` and
/// the object-safe state marker `S`.
///
/// Returns `None` while still active, or `Some(StateResult)` when done.