Custom attributes using BindingAdapters in Kotlin
https://proandroiddev.com/custom-attributes-using-bindingadapters-in-kotlin-971ef8fcc259
Modeling ViewModel States Using Kotlin’s Sealed Classes
https://engineering.udacity.com/modeling-viewmodel-states-using-kotlins-sealed-classes-a5d415ed87a7
Simplify your Android code by delegating to sealed classes (https://medium.com/halcyon-mobile/simplify-your-android-code-by-delegating-to-sealed-classes-99304c509321)