Just an update to my Effect Manager. I have implemented “Effect callbacks” which allows you to pass your effect to another scene along with a particular method to call.
This allows you to create effects that are not as trivial as one-time calculations. Instead, you can now call different scenes to allow players to select different options (like picking an item, or casting a skill). An effect callback is sent to the scene so that you can invoke that method to process your effect.