getOrPutAndRemoveOnDestroyFromCache

inline fun <T : Any> AppCompatActivity.getOrPutAndRemoveOnDestroyFromCache(crossinline onCreate: (T) -> Unit = {}, crossinline onDestroy: (T) -> Unit = {}, defaultValue: () -> T): T

Lifecycle aware caching on the activity level