Don't add GError to the object hierarchy
Fix field ownership and add inheritance list