Implementing core fc4j 2.0 functionality

[#80392902]
For this library, since people will be consuming it who have little Lombok experience, I'd recommend just spending 5 seconds more and using IntelliJ to auto generate the CTR/getter/setter/etc. Otherwise for internal, I'd say lombok