Missed the original post but I could work on some of the add/remove stuff. One question though, is it possible to use rna to do something like: bpy.context.active_object.foo.bar_list += bpy.types.bar(1, 1, 1) or is it all strictly bpy.context.active_object.foo.bar_list.add(1, 1, 1) Hmm... maybe that's two questions.