Implementing core fc4j 2.0 functionality

[#80392902]
I'd rather see you bring in lombok and either do an `@Data` w/ `@Setter(visibility=..PRIVATE)` or `@Value` with a `@JsonCreator` for the constructor. You shouldn't need `@JsonAutoDetect` either way though.