ObjectCartographer is a simple object to object mapper that handles object flattening, etc. in a conventional manner. At the same time it contains functions that allow it to act as an object factory and can even allow an object to multiple objects. It even allows for something which I have never seen a name for, so I will simply call it "Data Type Injection". Data Type Injection is where we have two separate assemblies (more commonly an assembly and the presentation layer) where neither one contains information on the other's data types. However both assemblies must exchange data without knowing what form that data will be in. Using a factory pattern we convert one data type into a series of smaller objects (or a single object) which the other assembly knows about and can deal with. I'm certain that has a name already, I just don't know what it is so until someone can point it out to me, I'm taking the advice of a podcast I recently listened to (wish I could remember if it was Thirsty Developer, Herding Code, etc.) and name it Data Type Injection.
Anyway, the series of articles describing building the mapper can be found here:
The code can be found here ObjectCartographer.