priority; } public function setPriority(int $newPriority):self{ $this->priority = $newPriority; return $this; } abstract public function action(RandUtil $rng, ?array $env=null, $arg=null):?array; public function getUniqueID():string{ $priority = $this->priority; $fqn = static::class; if($this->object === null){ $objID = ''; } else{ $objID = spl_object_id($this->object); } return "{$priority}_{$fqn}_{$objID}"; } }