WinForms interthread modyfikacji

Ilekroć chcę zmodyfikować winform z innego wątku, muszę użyć

->Invoke(delegate, params)

tak, aby modyfikacja wystąpiła we własnym wątku winform.

Dla każdej funkcji, która musi zmodyfikować gui, potrzebuję innej funkcji delegowania.

Czy istnieje jakiś schemat, który pozwala mi ograniczyć liczbę wymaganych funkcji delegowania? Mam klasę kontrolera, która obsługuje cały gui w jednym miejscu, myślałem o ponownym użyciu delegatów, ale to źle pachnie.

Myślę, że moje pytanie może dotyczyć wszystkich języków, w których można uruchomić winform

questionAnswers(4)

yourAnswerToTheQuestion