allow arbitrary delegate names in the macro