Enhancement: Inject mapper instead of pulling it from ServiceLocator