You may want to speak a bit more about the ? reference check, as it’s not as commonly known…
For example: showing the classic syntax
if(0nSelected!=null)
{
onSelected.Invoke();
}
and how that is reduced to onSelected?.Invoke()
using the ?.