improve extensibility of ScmServiceController