public static void InitExpertCoreServices(IWithServices target){
            //@"target".contract_NotNull(target);

            if (null == target.Services){
                target.Services = new ServicesContainer();
            }
            var activations = new RuleActivationService();
            var modules = new ModuleActivationChecker();
            modules.AlwaysActive.Add("default");
            activations.Add(new PassiveGroupsChecker());
            activations.Add(new SelfTestedActivationChecker());
            activations.Add(modules);
            activations.Add(new HintCounterChecker());
            target.Services.RegisterService<IRuleActivationService>("rule.activations", activations);
        }
 public static void InitCoreContextServices(IWithServices target){
     if (null == target.Services){
         target.Services = new ServicesContainer();
     }
     target.Services.RegisterService<IModuleService>("context.modules", new ModuleService());
 }