¿Cómo pasar ViewModel complejo a la capa de servicio en ASP.NET MVC?

Digo que tengo RegisterModel para el registro de usuarios y algunos UserService que implementan IUserService

public interface IUserService
{
   User CreateUser(User newUser);
}


[HttpPost]
public ActionResult Register(RegisterModel model)
{
            if (ModelState.IsValid)
            {

                // ... logic for newuser

                User user = _userService.CreateUser(newuser);

               _authenticationService.SetAuthenticatedUser(user);

                return RedirectToRoute("Homepage");
            }

            return View(model);
        }

Dado que RegisterModel puede ser muy complejo, ¿dónde está la lógica para asignar MapModel al objeto de usuario

Respuestas a la pregunta(1)

Su respuesta a la pregunta