If this starts to get hairy, we probably want to separate all this stuff out into a concern. With this simple implementation, I didn't feel like there were enough differences between Group and Discussion to make it worth it.