TranslatableListener uses TranslatableRepository now to implement common logic