Make Getter and Setter a case class and minor refactoring