Introduced a provider model for thread storage