Many model/POJO classes here can be easily generated with [Lombok](https://projectlombok.org), which is a very widely used lib. The benefits are * Get rid of no-brainer getter and setters. * Get rid of no-brainer but exhaustive constructor, with `@Builder` or `@AllArgConstructor` * Get rid of no-brainer `toString()`. * Avoid water-is-wet tests. * Opportunity to use Immutable classes with `@Value`