adding plugin working plugin functionality
refactored mappers to use plugin
removed unessecary factory logic to use plugin manager instead