this  now makes the async call to get the data from the Controller so the model is decoupled. we wanted to have a typed contract to the report not json for a scenario where someone using the view and model code didn't have JSON.