Version(0.0.2.0) Refactor to ease extension for MappingEngines

Refactor to make it easier to create new Mapper engines for different
scenarios.