introduce CounterState as private member