Concept: Quests, Stages and Events

A UCrimsonQuestDefinition is a primary data asset holding stages, prerequisites (UCrimsonQuestCondition), completion and failure actions and rewards, and a hotfix policy. Each UCrimsonQuestStage holds events with a completion rule (all, any, N of M), actions on enter and exit, and transitions whose conditions pick the next stage. Chains (UCrimsonQuestChain) group quests and own the multiplayer sharing policy.

Events are instanced objects that listen to the subsystem's event ingress while their stage is active and filter on channel and payload type. That is why the plugin needs no dependency on your combat or inventory: those systems report, the quest listens.

Multiplayer
Progression runs on the server. Active quests replicate owner-only through a fast array; ACrimsonQuestWorldDirector aggregates party progress and reference-counts data layers. Facts (UCrimsonFactDatabase) are a replicated per-player subobject.
Hotfixes
Data sources (ICrimsonQuestDataSource: cooked, file overlay, or your backend) can patch a quest with an FCrimsonQuestDefinitionOverlay. FileOverlayDirectory in the settings points at JSON overlays for iteration without recooking.