Factory method have the same visibility as corresponding provider.

Closes #4.