Create JSON structures via a Builder-style DSL