The goal of the below is to achieve straightforward runtime changes to recipe/building effects by expanding interfaces that 2.0 added.
Currently, many mods utilize hidden beacons to make runtime changes to recipes and buildings. In pY, there are optional researches that utilize such methods and it ends up with a large load of extra entities to give these effects.
I suggest expanding surface.global_effect to an array of ModuleEffects with an optional module_category specification for each effect. This allows runtime "beacon" changes to recipes without the entity load. This functionality would likely be dependent on changes made when resolving this bug report.
This could also be accomplished by expanding technology modifiers beyond ChangeRecipeProductivityModifier to include the other possible module effects (e.g. ChangeRecipeSpeedModifier).