A tiny little functional interface for writing a (key, value) pair.
The key should always be a String, the value can be either a String,
a Collection of valid values, or a Callback taking a Writer (this is how
we represent objects while creating JSON).