Settings library support multiple data providers