Add tests for CounterModel
Extract model types into their own files