dispatch is a clearer name than delegate