Awesome comment!
Added more generators, gave them an abstract base class, and genericized the spiral() method.