More refactoring and adding dependency on doctrine/cache