HashSet<T> property with a List<T> backing field which updates appropriately as I add and remove objects from the publicly exposed HashSet<T>.BlacklistedHighlightUsers every timeList<T> and tossing on .ToHashSet().ToList() or .Distinct().ToList() everywhere I go