Caching authenticator (ready for review)

Depends on #267