Do these need to be case classes? They could stay as objects.