package Ġcom . mar cin mos k ala . kotlin academy . components Ċ Ċ import Ġcom . mar cin mos k ala . kotlin academy . presentation . Base View Ċ import Ġcom . mar cin mos k ala . kotlin academy . presentation . Presenter Ċ import Ġreact . R Component Ċ Ċ abstract Ġclass ĠBase Component < P Ġ: Ġreact . R Props , ĠS Ġ: ĠBase State > Ġ: ĠR Component < P , ĠS >(), ĠBase View Ġ{ ĊĊĠĠĠ Ġprotected Ġfun Ġ< T Ġ: ĠPres enter > Ġpresenter ( init : Ġ() Ġ-> ĠT ) Ġ= Ġlazy ( init ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġlazy Present ers Ġ+= Ġit Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġlazy Present ers : ĠList < Lazy < Presenter >> Ġ= Ġempty List () ĊĊĠĠĠ Ġoverride Ġfun ĠcomponentDidMount () Ġ{ ĊĠĠĠĠĠĠĠ Ġlazy Present ers . forEach Ġ{ Ġit . value . onCreate () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠcomponentWill Unmount () Ġ{ ĊĠĠĠĠĠĠĠ Ġlazy Present ers . forEach Ġ{ Ġit . value . on Destroy () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( error : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ ĠsetState Ġ{ Ġthis . error Ġ= Ġerror Ġ} ĊĠĠĠ Ġ} Ċ }