Some modifiers (like particle system, but also some other physics simulations) require extra steps besides creating the modifier itself, so had to switch to higher-level `ED_object_modifier_add()` to add inserted modifiers in an overriding object data-block. Due to how particle modifier handles copying, some extra nasty hacks/work-around were also needed to get it working.