Separated dynamic provider to avoid circular references.