Function vs Method
My big heuristic for deciding whether some logic should be a method on a class or a standalone function that takes the class as a parameter, all else being equal:
If changing one would require changing the other, it should be a method -- otherwise, start with a function.













