Pair programming with Correy + changes I made before Vegas: Implementing groups, and changing SwitchForm to a generic-based approach