counter: make it more usable and consistent
test: improve counter tests