Change the usage of FileNameGenerator
Rename FileNameGenerator to FileNamePattern
Create a PatternInterface
Externalize DateTimePattern
Externalize LastModifiedFilePattern
Create a new abstract class with method in common
Externalize UniqIdPattern
Rename Pattern to FileNameGeneration\Pattern
Move FileNamePattern to FileNameGeneration\FileNameGenerator
FileNameGenerator implements PatternInterface
Move Pattern\PatternInterface to FileNameGeneratorInterface
Remove phpstorm auto-generated comments