No need to duplicate a well-written API. - Offer convenience accessors in Configuration[Builder] - Make Configuration init non-optional Sanity checks are done in Builder with throws and decoded object is always deemed valid.