If you run an Effect, by creating a NodeGrid, and then adding a sprite or something to it, and then each frame, you keep calling runAction on it with a new Effect, it’ll never start, because each action is constantly getting replaced.
To solve this, I added a boolean flag on the object to see if an effect was running or not, and then only ran the effect if the flag was false.