Ah, zero parameters must be intended now after all. Your proposition makes sense, it’s definitely something I was considering as a last resort. To give some more context, the inventory can be controlled via a grid of buttons. Clicking any button performs the same function but with the correct index specified, informing the function of the inventory item on which to operate. Ultimately, I ended up working with the zero parameter delegate function, and iterated over the grid button array in a ParallelFor to locate the button whose IsHovered returns true. It feels a little hacky, but from my tests and reasoning it seems like a reliable solution, and should not have any noticeable effect on performance.