Joseph,

not able to digest that right now, but one question up front ...

have you had a look at the template approach?

whatever we do for property mappings the template system should use the same
interface (which might well mean changing what is there)

frank