spec out counter behavior
counter increments and decrements
non-working map class
DRY out operation dispatch
Refactor how counter value caching works