Any reason why this is a case class instead of a class? I don't think people will want to pattern-match on it.