I like the generic-ification, makes it feel more like we're building something for other people to use and (hopefully) extend rather than just a class project type thing.