'Draft', self::Verifying => 'Verifying', self::ActionRequired => 'Action required', self::Bootstrapping => 'Bootstrapping', self::ReadyForActivation => 'Ready for activation', self::Completed => 'Completed', self::Cancelled => 'Cancelled', }; } public function isTerminal(): bool { return in_array($this, [self::Completed, self::Cancelled], true); } /** * @return array */ public static function values(): array { return array_map( static fn (self $case): string => $case->value, self::cases(), ); } }