package Ġcom . bad oo . ri bs . store Ċ Ċ import Ġcom . bad oo . ri bs . core . R ib Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġstorage Ġto Ġpreserve Ġany Ġobjects Ġduring Ġconfiguration Ġchange Ġevents . Ċ Ġ* Ġ` factory ` Ġfunction Ġwill Ġbe Ġinvoked Ġimmediately Ġon Ġthe Ġsame Ġthread Ċ Ġ* Ġonly Ġif Ġan Ġobject Ġof Ġthe Ġsame Ġclass Ġwithin Ġthe Ġsame ĠR IB Ġdoes Ġnot Ġexists . Ċ Ġ* ĠThe Ġframework Ġwill Ġmanage Ġthe Ġlifecycle Ġof Ġprovided Ġobjects Ċ Ġ* Ġand Ġinvoke Ġ` dis poser ` Ġfunction Ġto Ġdestroy Ġobjects Ġproperly . Ċ Ġ* Ċ Ġ* ĠSample Ġusage : Ċ Ġ* Ġ``` kotlin Ċ Ġ* Ġval Ġfeature Ġ= ĠRet ained Instance Store . get ( Ċ Ġ* ĠĠĠĠ Ġowner Ġ= Ġbuild Params . identifier , Ċ Ġ* ĠĠĠĠ Ġfactory Ġ= Ġ{ ĠFeature Impl () Ġ}, Ċ Ġ* ĠĠĠĠ Ġdis poser Ġ= Ġ{ Ġfeature . dispose () Ġ} Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ interface ĠRet ained Instance Store Ġ{ ĊĊĠĠĠ Ġfun Ġ< T Ġ: ĠAny > Ġget ( owner : ĠR ib . Identifier , Ġclazz : ĠK Class <* >, Ġdis poser : Ġ( T ) Ġ-> ĠUnit , Ġfactory : Ġ() Ġ-> ĠT ): ĠT ĊĊĠĠĠ Ġfun Ġremove All ( owner : ĠR ib . Identifier ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠRet ained Instance Store Ġby ĠRet ained Instance Store Impl () Ċ Ċ } ĊĊ