Ok. Just to clarify - I got the following class -
data class LoginConfig(
val loginName: String,
val password: String,
val additionalData: String
)
As far, as I understood, ViewModel makes the copies of the properties, and implements the dirty pattern.