fix multiple store error and add token eviction
we now persist tokens as soon as they are requested
we can use token eviction to purge unused tokens on a regular basis.