fix MetaRuleset
extracted CompositionRuleset, created abstract base class, abstract wrapper
extract Counter to CounterRuleset