Support better IoC with mapping