public static function factory(Collection $data)
    {
        $instance = new static();

        $instance->id = (string) Uuid::uuid4();

        $instance->name = $data['name'];

        $instance->slug = str_slug($data['name']);

        $instance->graphEnabled = isset($data['graph_enabled'])
            ? $data['graph_enabled']
            : null;

        $instance->abbreviation = $data['abbreviation'];

        $instance->targets = $instance->instantiateTargets(
            $data['targets'] ?? collect()
        );

        $instance->notify =
            $data['notify'] ?? config('health.notifications.enabled');

        $instance->style = $instance->keysToCamel(config('health.style'));

        $instance->style['columnSize'] =
            $data['column_size'] ?? $instance->style['columnSize'];

        $instance->errorMessage =
            $data['error_message'] ?? config('health.errors.message');

        $instance->isGlobal = $data['is_global'] ?? false;

        $instance->checker = $instance->instantiateChecker($data['checker']);

        $instance->importProperties($data);

        return $instance;
    }