Use delegate instead of Func<string, string> in order to support net20 platforms