Using more pythonic factories with classmethods