Refactored token repositories.

Refactored token repositories to receive created tokens so they can
provide their own storage scheme while taking advantage of the premade
factories.