I was going through a weird phase when I surveyed the WP_Post class and decided to go with magic getter / setter for the product class. Now I believe it's a stupid thing to do.

What I originally said in the original wiki page was correct, and I just updated the section on `__get()` and `__set()` with more details. We should avoid naive getter / setter methods (that does nothing but return an attribute's raw value). But when we do need getter / setter methods, we avoid magic.

I will refactor this class to avoid magic methods asap.