@pike Well I am not @edvin but I will give it a shot.
I have taken your Datamodel and simplified it a bit.
I basically inejected the MonthlySalesResponseModel into the View and the Controller. The controller can then update the ViewModel. The View binds to the viewmodel so if later on a new MonthlySalesResponse object would be set, the ViewModel is taking care of rebinding the properties.