Clean up (and fix) allocation order in ModelContext -> populate()