Style nitpick: this is not the way we usually declare property arrays for GObjects - you want to make an anonymous enum at the top of the file, and then a static array of GParamSpecs, like

```
enum {
  PROP_FOO = 1,
  PROP_BAR,
  NUM_PROPS
};

static GParamSpec *properties[NUM_PROPS] = { NULL, }
```

and then here in class_init do

```
properties[PROP_FOO] = g_param_spec_object(...);
g_object_class_install_properties(object, class, NUM_PROPS, properties);
```