clock->now(); $expires_at = $now + self::LIFETIME_SECONDS; if ( add_option( self::OPTION, $expires_at, '', false ) ) { return true; } $held_until = get_option( self::OPTION ); if ( is_numeric( $held_until ) && (int) $held_until > $now ) { return false; } update_option( self::OPTION, $expires_at, false ); return true; } public function release(): void { delete_option( self::OPTION ); } }