~Split mapper code to be more flexible in testing and be single respoinsibility principle;

+Classmap generic types;
~Test fixes.