Allow from_json to be overriden in derived class