I must've just been flying through this. We should implement the full spec, and it should consistent and intuitive naming. This .model vs. .model_id is an example of it not being consistent.
self.model = formula_json.get('script', {}).get('model', {}) #['script']['model']
self.model_id = self.model.get('id', '') #['script']['model']['id']