using JsonReaderListenerFactory for new object/array creation instead of mixing things in listener