public class PhotoProcessor
{
// access / delegate / return type / name (params)
public delegate void PhotoFilterHandler(Photo photo);
public void Process(string path, PhotoFilterHandler filterHandler)
{
var photo = Photo.Load(path);
// the delegate will apply the filter for us
filterHandler(photo);
photo.Save();
}
}