No Side Effects Edit on GitHub

Your +new method should not modify any global variables or global state. This could result in a component returning different results for the same parameters, which would be strange.

If you’re a functional programming nerd, you can think of +new as a pure function mapping from a set of input parameters to a component. (Pure functions have many benefits, which I won’t attempt to outline here.)