Introduced generic classes for the 'registry-provider' pattern and adapted according implementations to use new classes.