We recently encountered a similar situation where we needed a lifecycleOwner inside a recycler view viewHolder as well. Because of some indirection we had, we ended up setting the `ViewTreeLifecycleOwner.set(itemView, viewLifecycleOwner)` in onCreateViewHolder, and then in the ViewHolder itself, instead of passing in the viewLifecycleOwner to each instance, we called ```itemView.findViewTreeLifecycleOwner()?.let { lifecycleOwner -> viewModel.liveData.observe(lifecycleOwner) ... ``` only on the views that needed to observe the liveData