making this correct, dirty and cached counters
Merge pull request #59 from lookio/master

caching counters