package Ġcom . mo sp oly tech . mo sp oly helper . features . ui . common Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ Ċ abstract Ġclass ĠViewModel Base ( ĊĠĠĠ Ġprivate Ġval Ġmedi ator : ĠMed iator < String , ĠViewModel Message >, ĊĠĠĠ Ġprivate Ġval Ġname : ĠString Ċ ): ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprotected Ġfun Ġsubscribe ( block : Ġ( ViewModel Message ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmedi ator . subscribe ( name , Ġblock ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġunsubscribe () Ġ{ ĊĠĠĠĠĠĠĠ Ġmedi ator . unsubscribe ( name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġsend ( target : ĠString , Ġkey : ĠString , Ġvar arg Ġmessages : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġmedi ator . send ( target , ĠViewModel Message ( key , Ġmessages )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġunsubscribe () ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠ Ġ} Ċ }