first scenario:
val first repo = UserRepository.get()
val secondRepo = UserRepository.get()
//secondRepo == fistRepo`
second scenario:
val first repo = UserRepository.get()
UserRepository.destroy() // destroys current instance kept in Provider
val secondRepo = UserRepository.get()
//secondRepo != fistRepo