Better driver, so the init elements are not all references to the same object
Abstracted JSON decode. Added Event update.