Library for build objects from key/value pairs
<p>After writing another boilerplate builder for a class from <code>IDictionary&lt;string, string&gt;</code> I'm looking for some library that does it in declarative style.  Here is an example of what I want.  Could you suggest any libs that allow to do this?</p>

<pre><code>class Person
{
    string Name;
    int Age;
}

class PersonBuilder
{
    public Person Build(IDictionary&lt;string, string&gt; values)
    {
        // MagicBuilder is what I'm looking for
        var magicBuilder = new MagicBuilder&lt;Person&gt;();
        // MagicBuilder.AddRequiredField&lt;Type&gt;(key, field)
        magicBuilder.AddRequiredField&lt;string&gt;("name", p =&gt; p.Name);
        // MagicBuilder.AddOptionalField&lt;Type&gt;(key, field, defaultValue)
        magicBuilder.AddOptionalField&lt;int&gt;("age", p =&gt; p.Age, 0);
        return magicBuilder.Build(values);
    }
}
</code></pre>
