s&box NPC architecture: ScheduleBase (task sequence) + TaskBase (atomic action) with ShouldCancel() interrupt