turned MappingAdapter into a class
Cache enclosingInst for all fields
just swapped the order of builders
Turned SymmetricMapping into a class
Turned Enum into a class
Added Switch constructor
turned IfThenElse into a class