I'm not yet convinced of the advantage of writing effectors like this. (It's great for when building up an entity programmatically based on  some input file, but if we're just writing code...)
Is the reason to not just have a method because then we'd need an interface for the application as well?

We're going to probably open up this code during a tutorial so I want it to be as simple as possible.