Explain how StateFlow differs from SharedFlow in Kotlin, and when you would use each in a Housecall Pro mobile app.