integration refactoring

and the PersistentTokenRepository will implement TokenGenerationListener