public function select(
        string $id,
        string $title,
        array $options,
        array $additionalArguments = null
    ): Field {
        $formControl = $this->builder->select($id, $options)
                                     ->select(
                                         $this->optionStore->getString($id)
                                     );

        $additionalArguments = array_merge(
            [
                'sanitize_callback' => function ($value) use ($options): string {
                    $value = sanitize_text_field($value);

                    return array_key_exists($value, $options) ? $value : '';
                },
            ],
            (array) $additionalArguments
        );

        return new Field(
            $id,
            $title,
            $formControl,
            (array) $additionalArguments
        );
    }