package Ġdev . program ad orth i . shared . domain Ċ Ċ sealed Ġclass ĠUI State < out ĠT > Ġ{ ĊĠĠĠ Ġobject ĠId le Ġ: ĠUI State < Nothing >() ĊĠĠĠ Ġobject ĠLoading Ġ: ĠUI State < Nothing >() ĊĠĠĠ Ġdata Ġclass ĠError ( val Ġcause : ĠThrowable ?, Ġval Ġmessage : ĠString ) Ġ: ĠUI State < Nothing >() ĊĠĠĠ Ġdata Ġclass ĠBusiness ( val Ġcause : ĠResult . Business ?, Ġval Ġmessage : ĠString ) Ġ: ĠUI State < Nothing >() ĊĠĠĠ Ġdata Ġclass ĠSuccess < R >( val Ġdata : ĠR ) Ġ: ĠUI State < R >() Ċ } Ċ