It might sound a bit crazy, but do we really want to use Jackson to create one (quite) simple JSON document? Using Jackson in this implementation means that we're enforcing this (or compatible) version of Jackson libraries in all clients of this library.