9870c23a5b
- Use sealed class for state
- Minor changes
(cherry picked from commit 0270878748)
- Use sealed class for state
- Minor changes
(cherry picked from commit 0270878748)