¿Se puede pasar un modelo a través de varias plantillas de editor?

Estoy tratando de mostrar un modelo de vista usando una plantilla de editor que envuelve el modelo en un conjunto de campos antes de aplicar una plantilla de editor de Objetos base.

Mi vista

@model Mvc3VanillaApplication.Models.ContactModel

@using (Html.BeginForm())
{
    @Html.EditorForModel("Fieldset")
}

Utiliza una plantilla de conjunto de campos (Views / Shared / EditorTemplates / Fieldset.cshtml):

<fieldset>
    <legend>@ViewData.ModelMetadata.DisplayName</legend>
    @Html.EditorForModel()
</fieldset>

Que a su vez utiliza una plantilla básica para todos los objetos (Vistas / Compartido / Plantillas de editor / Object.cshtml):

@foreach (var prop in ViewData.ModelMetadata.Properties.Where(x => 
    x.ShowForEdit && !x.IsComplexType && !ViewData.TemplateInfo.Visited(x)))
{
    @Html.Label(prop.PropertyName, prop.DisplayName)
    @Html.Editor(prop.PropertyName)
}

Esa es mi intención de todos modos. El problema es que, si bien la página se representa con un conjunto de campos y una leyenda, la plantilla Object no se aplica, por lo que no se muestran controles de entrada.

Si cambio la vista para no especificar la plantilla "Fieldset", las propiedades de mi modelo se representan usando la plantilla Object, por lo que no es que mi plantilla Object no se pueda encontrar.

Es posible pasar el mismo modelo a través de múltiples plantillas?

Para lo que vale, el modelo de vista se ve así:

namespace Mvc3VanillaApplication.Models
{
    [System.ComponentModel.DisplayName("Contact Info")]
    public class ContactModel
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta