The only bit missing is the `switchPath`:

```
"switchPath_property": {
    "prototype": "core/meta/property-blueprint",
    "properties": {
        "name": "switchPath",
        "valueType": "string",
        "blueprint": {
            "@": "root"
        }
    }
},
```

and in the `root` object:

```
"propertyBlueprints": [
    {
        "@": "switchPath_property"
    }
],
"propertyBlueprintGroups": {
    "Main": [
        {
            "@": "switchPath_property"
        }
    ]
}
```