Going from JSONObject could be more efficient since the StringEventsWork starts by parsing the string into a JSONObject.
So in this case the pure JSONEventsWork could be used.

But I am a bit fuzzy on the details, if it would actually work. But if it doesn't it should be made to work anyways ;)