Make the delegate more C#y and add some known types