Change default object's properties / subscribe to object add event

Is there a way blender will let me change default values of object’s data properties. For example a grease pencil layers come with “Use Lights” enabled by default. How could i make that be disabled whenever i add a new GPencil object?

So far the dirty solution i could come with is adding a: bpy.app.handlers.depsgraph_update_post.append(self.update_handler)
and check every time for every new added object, then loop though all all objects on the scene and check if the newly added one data isn’t already present (meaning it was created as a linked copy Alt+D) and then i apply my changes on it every time. I am keeping a list of all objects and checking either if it increase or not to determine what was the newly added object.

Problem that solution seems awful and doesn’t account for normal duplicates that are generated with shift + d, they get reset and doesn’t seem like there is a way to detect if a new object is a duplicate or not unless if i modify those operators directly I guess? Anyway it is an awful solution and there should be better way to change those defaults.

I read one thing or another about bl_rna while searching about this but I’m not sure what it is and if it can help me with this or if this is even accessible from the plugin api.