started refactoring to final mapper structure for 1.0. different mapping strategies are factored out as separate strategy classes instead of inheritance.