5 arguments? I think `_retrieveModelData` does too much.