updated specifications for ComponentProvider.init