notify:: signal is never emitted for properties that contain underscores in their names
See this testcase: property notifications seem to be lost if the property has an underscore in its name.
The root cause of this may be a GLib bug rather than a PyGObject bug. However, it's notable that GLib convention is to use hyphens in property names. Our GObject.Property() helper doesn't make this easy (or even possible?) because as far as I can see it requires the property name to be a valid Python identifier.
This is a rather confusing problem to debug, so if it's not simple to fix then perhaps we should add a warning for users who have underscores in property names ?