Actually the class method change wasn't strictly needed. I changed it to a class method because when I was first learning Python I was told that a static method is almost never what you want, and I should use classmethods instead. It might be a silly change.