static void Main(string[] args) { var processor = new PhotoProcessor(); var filters = new PhotoFilters(); PhotoProcessor.PhotoFilterHandler filterHandler = filters.ApplyBrightness; filterHandler += RemoveRedEyeFilter; filterHandler += filters.ApplyContrast; // Using filterHandler (delegate) processor.Processing("photo.jpg", filterHandler); // Using Action<Photo> processor.Process("image.jpg", filters.ApplyBrightness); }