Implementing core fc4j 2.0 functionality

[#80392902]
i dont know if lombok would be used widely enough to justify its inclusion though. It would be used here and that's about it since Jackson handles all the json exchange.